我在這里創建了一個非常簡單的示例..

所以.. 我知道發生這種情況的原因是因為每當 HOC 的狀態發生變化時,它都會重新渲染自己,并且這樣做會創建一個新handleButtonClick的,因為它是一個箭頭函式。所以 React 看著它說:“哎呀……這是一個新功能,重新渲染ComponentB!”
我的問題是..解決這種性能問題的最佳模式是什么?
我的意思是.. 我想我可以傳遞setCounter到CompnentB,但這看起來很惡心.. 將 HOC 和它的狀態緊密結合到ComponentB. (更新:現在我考慮了一下,也不能這樣做,因為我也必須傳遞下去counter才能計算增量,而且由于這種情況正在改變,它也會導致重新渲染......呃。)
我很茫然..有人有什么想法嗎?
uj5u.com熱心網友回復:
您可以使用useCallback鉤子來包裝您傳遞給孩子的函式。
useCallback如果陣列依賴項沒有變化,它將記住函式并使用快取而不是重新創建函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/467359.html
標籤:javascript 反应 表现 反应备忘录
