资料状态管理
资料状态管理
使用情境
Context API
- 只考虑偏静态数据的跨组件层级传递和共享,不考虑状态更新
Context API + useReducer
- 小中型的状态管理场景,意味着状态规模不大,更新状态的逻辑代码不復杂
- 对代码的可调试性没有很高的要求
- 对渲染性能没有很高的要求
redux + react-redux
- 中大型的状态管理场景,意味着状态规模很大,更新状态的逻辑代码比较複杂,存在多人协作
- 代码的可调式性有比较高的要求。需要快速地知道四个“什麽”问题(状态在“什麽时候”,“在什麽地方”,“为什麽”,“发生了什麽样的”变化)的答案。
- 需要用到副作用机制增加代码的可读性
- 需要用到中间件来增加应用的可扩展性
- 需要对用户操作轨迹进行日誌记录
- 考虑使用一个redux store 对接到不同的 UI 层(比如同时对接到react和vue)
- 在渲染性能上有更高的追求
参考资料
教学影片