簡體   English   中英

自定義掛鈎 useEffect 內的 React setState 調用未更新 state

[英]React setState call inside a custom hook useEffect is not updating the state

我有一個基本的自定義掛鈎,因為我正在更改 useEffect 中的 state 但 state 沒有更改

Users 組件下方正在調用自定義掛鈎並傳遞 items prop

const Users = (props) => {
  const [users] = usePivot(props.items)
}

usePivot 自定義鈎子

const usePivot = (propItems) => {
  const [users, setUsers] = useState([]);

  useEffect(() => {
    // this is printing in whenever propItems changes
    console.log("propItems in useUserPivot: ", propItems);
    
    // this is not setting
    setUsers(propItems);
  }, [propItems]);

  useEffect(() => {
    // this is not printing in console
    console.log("users: ", users);
  }, [users]);

  return [
    users
  ];

}

users 的值始終為 [],它永遠不會改變。

我在這里使用了您的相同代碼,一切都很好

在此處輸入圖像描述

確保根據您的代碼將項目作為道具傳遞給用戶組件

   <Users items={[1,2,3]} />

users state 再次設置在另一個 function 中,排序列表在useEffect中被調用。 我評論說 function 電話然后問題就解決了。 我不確定為什么會因此出現這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM