首页  >  问答  >  正文

如何在useEffect中更新React组件的依赖项,而不会创建无限循环

我有一个React组件,我需要等待存储值(成员)更新,然后根据条件删除一个成员,然后再设置存储值。然而,这显然会创建一个循环。

useEffect(() => {
    if(members.length > 0) {
        setMembers(members.filter((item) => item.name != 'Bob'));
    }

}, [members]);

有什么好的方法可以解决这个问题吗?根据我的应用程序设置,我真的需要在这个组件中这样做。

P粉609866533P粉609866533167 天前1378

全部回复(1)我来回复

  • P粉585541766

    P粉5855417662024-04-06 09:48:40

    您可以尝试使用更新器状态 const [update, setUpdate] = useState(false),并将 update 作为依赖数组。在成员列表更新时,使用 setUpdate(!update)

    回复
    0
  • 取消回复