簡體   English   中英

為什么我們不能在 mobx-react 中使用 React.useMemo 來保持對 state object 的引用?

[英]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 的未來版本,你就不會被迫進行重構。

鏈接: https://reactjs.org/docs/hooks-reference.html#usememo

暫無
暫無

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

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