状态管理总览
状态管理里最常见的问题,往往不是库选错了,而是状态一开始就放错了位置。
先有一个基本判断
- 组件私有状态:优先留在组件内
- 跨页面共享状态:考虑状态管理库
- 服务端数据:优先交给请求层和缓存层管理
当前收录的内容
Redux/Zustand/Jotai:React 生态常见方案Pinia:Vue 生态状态管理方案状态管理选型对比:先做横向判断,再回头深入单个方案
状态管理选型对比
状态管理很少存在“绝对最好”的方案,更多是看项目规模、框架生态和状态类型。
Redux
Redux 是一个可预测的状态容器,用于 JavaScript 应用,通常与 React 搭配使用。它有助于把状态变更流程写得更清楚,也更容易在团队里协作和调试。
Jotai
基于 react hook,内部存储
Pinia
Pinia 是 Vue 的官方状态管理库,它提供了一个更简单、更类型安全的 方式来管理 Vue 应用的全局状态。
Zustand
Zustand 是基于 Flux 思想, 也就是类似 redux 单向数据流模型来实现的 小型、快速和可扩展的状态管理, 它有基于 hooks 舒适的 API, 非常灵活便捷。