用途:帮助开发者在 React 应用中搭建与管理状态,涵盖从组件本地状态到全局 store 及服务端数据同步的现代模式。适用场景包括设置全局状态、在 Redux Toolkit、Zustand、Jotai 之间选型、用 React Query 或 SWR 管理服务端状态、实现乐观更新、排查状态问题,以及从旧版 Redux 迁移到现代写法。
主要能力:将状态分为本地(useState、useReducer)、全局(Redux Toolkit、Zustand、Jotai)、服务端(React Query、SWR、RTK Query)、URL(React Router、nuqs)与表单(React Hook Form、Formik)五类,并给出选型建议:小型应用简单状态用 Zustand 或 Jotai,大型复杂状态用 Redux Toolkit,服务端交互多用 React Query 搭配轻量客户端状态,需要原子化细粒度更新用 Jotai。
使用方式:资料给出五类模式示例,包括 Redux Toolkit 配合 TypeScript 的 store 与 slice 写法、Zustand 分片(slices)扩展、Jotai 原子与派生原子、React Query 的查询键工厂与乐观更新,以及客户端状态与服务端状态组合。示例含 create、configureStore、createSlice、createAsyncThunk、atom、useQuery、useMutation 等 API 用法。
最佳实践与限制:状态就近放置、用选择器避免多余渲染、扁平化数据、全面使用 TypeScript、区分服务端与客户端状态;避免过度全局化、重复存储服务端状态、直接修改状态、存储派生数据、混用同一类别的多种方案。资料未提供安装命令、版本要求、性能数据或收费信息。