[React Hook 筆記] useReducer 真的能完全取代 Redux 嗎?
Published in
5 min readMar 22, 2021
React Hook 系列文
1. 從最基本的 Hook 開始 useState, useEffect
2. Memorized Hook- useMemo, useCallback
3. useRef
4. useContext
5. useReducer
6. useLayoutEffect
7. Custom Hooks
先回答標題的答案,不能! 完整解釋放在最後
🔖 文章索引1. What’s useReducer?
2. Redux vs useReducer
3. 總結
What’s useReducer?
An alternative to
useState
. Accepts a reducer of type(state, action) => newState
, and returns the current state paired with adispatch
method.
(If you’re familiar with Redux, you already know how this works.)
進階版的 useState
useState
的底層其實也是是用 useReducer
實踐的呢 ! 兩者同樣都是拿來儲存、更新資料。但說是進階版因為useReducer
不但可以替換任何 useState
且能處理更複雜的邏輯。
(以下範例用 useReducer
是殺雞用牛刀之不必要,但只是想展示兩種用法都可以達到一樣結果)
概念跟 Redux 80% 相像
學過 Redux 的人完全可以輕易上手,他們的核心之用 Action、Reducer、Store 傳遞資料的觀念基本上是一模一樣的
Redux: 他抄我
useReducer: 顆顆對啊不行嗎