Notes

聊聊 useState 与 useReducer 的区别

结论:useState 是更轻量的状态更新接口,可视作内置 basicStateReduceruseReducer;当状态更新逻辑复杂或需要显式 action/reducer 时用 useReducer 更合适。

1. 相同点

  • 更新都走队列:dispatch 入队 update,render 时计算 nextState
  • 都受 lanes/优先级影响,可能被跳过并留到 baseQueue

2. 不同点

  • useState:action 是值或函数;更直观
  • useReducer:action 自定义 + reducer 统一处理;更可控、可测试

3. 选型建议

  • 简单本地状态:useState
  • 复杂状态机/需要多人协作约束更新:useReducer

关联阅读

cd ..