
一定要加上 use client,因為 useState 只能在 client component 運作 ,
特別注意,就算這裡加了use client,所有的子層還是 server component (預設)

加上 provider 之後,下面所有的子層都可以拿到值,不用用 prop 一個一個傳下去


use client。useContext 時 ( Logo component ),會發生錯誤,因此需要先確認有 context
舉例:不是在 provider 裡使用 useContext


現在引入 ThemeContext 和處理錯誤的問題,已經抽離到 custom hook 中

type Theme 可以讓 useState 在 get 和 set 時,可以使用正確的型別,例如:當想要 setTheme('blue') 時,會報錯,因為 type Theme 只有 'dark' 和 'light'
很棒的分享!善用 context 跟 custom hook 的話,可以大幅改善 code quality!
很多 state 可以拆分出來,放到更適合的地方!
期待你分享更多好文章!