搜尋

首頁  >  問答  >  主體

如何在useEffect中更新React元件的依賴項,而不會建立無限循環

我有一個React元件,我需要等待儲存值(成員)更新,然後根據條件刪除一個成員,然後再設定儲存值。然而,這顯然會創建一個循環。

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

}, [members]);

有什麼好的方法可以解決這個問題嗎?根據我的應用程式設置,我真的需要在這個組件中這樣做。

P粉609866533P粉609866533230 天前1504

全部回覆(1)我來回復

  • P粉585541766

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

    您可以嘗試使用更新器狀態 const [update, setUpdate] = useState(false),並將 update 作為依賴陣列。當成員清單更新時,使用 setUpdate(!update)

    回覆
    0
  • 取消回覆