我尝试在useEffect挂钩内运行多个函数。我希望函数在isConnected值解析为一个值后运行。它的初始值为null。过一会儿它将解析为true或false。我只考虑isConnected值第一次更改时。该值可以随时间而更改。我编写了以下代码来实现这一点。我想知道这是否是实现我的目标的正确方法,以及是否有任何重构可以简化这一点。
const App = () => {
const {isConnected} = useNetInfo();
const wasConnectedRef = useRef(null);
useEffect(() => {
if (isConnected !== null && wasConnectedRef.current === null) {
if (isConnected) {
functionOne();
functionTwo();
}
wasConnectedRef.current = isConnected;
}
}, [isConnected]);
...
}
1条答案
按热度按时间lyfkaqu11#
我将添加另一个useState变量,在获取数据后将其设置为true,并将其作为侦听器添加到useEffect末尾的方括号中