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
子站问答
访问
宣传栏