前言
useState 的底层其实是用useReducer 实践的
useReducer 适合较复杂的state,因为我们可以将状态的改变统一放在reducer 去做管理,像useState 的状态改变就会分散在不同的函式里面。
语法
const [state, dispatch] = useReducer(reducer, initialState, initStateFn)
- useReducer 第一个参数用来设定变更state 的规则,特定的action 时如何更新state
- useReducer 第二个参数是初始化的state
- useReducer 第三个参数是初始化state 的函式,非必要的