簡體   English   中英

返回未定義的 Redux 存儲 state 在 useEffect() function

[英]Return undefined Redux store state in useEffect() function

我的 Redux 商店 state 在useEffect掛鈎中返回未定義。 如果我刪除 useEffect 中的空數組[] ,我的useEffect存儲返回true值,但非常多,有時會在無限循環中執行!

 useEffect(() => {
    store.subscribe(() => {
      setNodeProperties({
        positionX: store.getState().schemaViewer.positionX,
        positionY: store.getState().schemaViewer.positionY,
      });
        console.log(nodeProperties);
    });
  }, []);

問題是setNodeProperties會將nodeProperties的更改排隊,並且不會立即發生,因為它是異步的。 因此,一旦nodeProperties發生變化,我會嘗試產生副作用。 您的組件中可以有多個useEffect掛鈎。

嘗試如下:

useEffect(() => {
   console.log(nodeProperties);
}, [nodeProperties]);

通過這種方式,您將捕獲nodeProperties的更改並僅在那時運行日志記錄步驟。 建議閱讀使用效果掛鈎

我希望這有幫助!

暫無
暫無

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

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