Open QzCurious opened 7 months ago
useState
可以不用全部都放在同一個地方,每個 component 都可以有自己的 useState
。全部都放在一起很容易造成過多多餘的 re-render,且增加程式碼回追的成本
HeroProvider
就是個可被拆分的 useState
大集合
https://www.youtube.com/watch?v=NsFmOttIW9Y&ab_channel=JackHerrington
Jack 的這隻影片用很實際但又直觀的方式來看 re-render 的影響 (雖然我從來不記得他叫 Jack)
一些我覺得你多花點力氣也要看完(或看懂)的:
剛好之前有問到為什麼、什麼時候要導入 global state management library,6:41 以簡單又實際的範例演示如何使用 zustand 解決。當然,每個人遇到的狀況不一樣,不見得每每都要做效能最佳化,但把概念學起來,需要優化時我們才比較有解決方向
什麼時候會 re-render
如何避免 re-render
React.memo
要做什麼
HeroProvider
拆解成多個 Provider 各司其職