昨天的bmi計算器範例用到了一個未曾見過的新面孔-useReducer
究竟 useReducer 是何方神聖呢
現在來進行說明
跟其他 react hook 一樣,要用的話就要從 react import
import {useReducer} from 'react';
一言以敝之,基本上就是 useState 的加強版(被毆XD
如果更新的state 得 依賴先前的 state 或 state 本身有複雜的邏輯跟結構則可以用 useReducer 來處理
用法像這樣
const [ state , dispatch ] = useReducer( reducerFn,initState,initStateFn );
做個簡圖感覺會比較好理解
[ state , dispatch ]
reducerFn
, initState
,initStateFn
)回到之前用 setState 來建構計數器的部分,這次用 useReducer 達到相同效果
codesandbox在這邊
接下來要來介紹其他的快樂好朋友 useMemo / useCallback / useRef
並且了解一下他們分別的作用吧XD
https://zh-hant.reactjs.org/docs/hooks-reference.html#usereducer
https://www.youtube.com/watch?v=kK_Wqx3RnHk