【发布时间】:2021-06-18 06:43:38
【问题描述】:
我有以下状态
const [humans, setHumans] = useState([]);
const [animales, setAnimals] = useState([]);
还有下面的函数
const f = () => {
console.log(humans);
console.log(animals);
}
只有在下面的 useEffect 完成更新两个状态时才需要执行
useEffect(() => {
setHumans([ ... ]);
setAnimals([ ... ]);
f();
}, []);
如何确保在两个异步状态更新完成后执行 f?
【问题讨论】:
-
为什么不添加一个 useEffect hook 与人类和动物作为依赖项,并在那里检查您的状况。例如:
if(humans.length && animals.length),然后执行f(); -
顺便说一句,您的 useEffect 只会在初始渲染时执行...
-
您需要仅在两个状态更新完成后执行?
-
当两个状态都完成更新时。我需要等待多个状态更新。
标签: javascript reactjs react-native asynchronous react-hooks