[英]Why can't we use React.useMemo in mobx-react to keep reference to the state object?
目前我的項目仍在使用 mobx@4 和 mobx-react@6,我在文檔中發現了這個警告:
公平警告。 永遠不要使用 React.useMemo 來引用 state object。 它可能會被 React 隨機丟棄,您可能會丟失數據。 ( mobx-react 文檔)
看不懂,誰能幫忙舉個例子和原因?
引用 React 文檔:
您可能依賴 useMemo 作為性能優化,而不是語義保證。 將來,React 可能會選擇“忘記”一些先前記憶的值並在下一次渲染時重新計算它們,例如釋放 memory 用於屏幕外組件。 編寫您的代碼,使其在沒有 useMemo 的情況下仍然可以工作——然后添加它以優化性能。
基本上,React 可以隨時重新實例化記憶值,如果需要,您將丟失整個 Store,因為它將使用默認參數重新創建。
它現在可能不會這樣做,但最好不要將 memo 用於持久值,這樣如果你遷移到 React 的未來版本,你就不會被迫進行重構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.