react如何处理循环依赖问题?

a、b的变动都会调用ajax()
而且a变动的时候b也会发生变化,现在的问题是a变化的时候自己调用了一次ajax()并且引起了b变化,又触发了ajax()请问这种场景怎么处理?


useEffect(() => {
   ajax()
}, [a, b])

useEffect(() => {
   setState(b)
}, [a])
阅读 2.2k
1 个回答
const [isAChanging, setIsAChanging] = useState(false);

useEffect(() => {
  setIsAChanging(true);
  ajax();
  setState(b);
  setIsAChanging(false);
}, [a]);

useEffect(() => {
  if (!isAChanging) {
    ajax();
  }
}, [b]);
推荐问题
logo
Microsoft
子站问答
访问
宣传栏