SuperAPI AI 工具集

state-management

通用与其它

查看项目

更新于 10-16 00:03

技能介绍

用途:为前端应用提供状态管理的模式与最佳实践,帮助在不同框架下判断状态该放在哪里、用什么方案管理。

主要能力:按作用域把状态分为本地 UI 状态(useState、ref)、共享 UI 状态(Context、provide/inject)、服务器状态(TanStack Query、SWR)、全局应用状态(Zustand、Pinia、Redux)和 URL 状态(路由参数与查询串),并给出选型决策流程:仅单组件需要则用本地状态;需缓存同步的服务器数据用服务器状态库;可分享的状态放 URL;跨无关组件使用则用全局 store,否则提升状态或使用 Context。

使用方式:服务器状态部分介绍 useQuery 定义查询(含 queryKey、queryFn、staleTime、gcTime)、useMutation 变更并在 onSuccess 中 invalidateQueries 失效重取,以及 onMutate 快照、乐观更新、onError 回滚、onSettled 收尾的乐观更新模式。全局状态部分给出 Zustand 的 create 定义 state 与 actions、用选择器避免多余重渲染、派生状态计算,以及 Pinia 的 defineStore 写法(state、getters、actions)。URL 状态部分演示 react-router 的 useSearchParams 读写分页、搜索、排序等参数。

适用场景:需要为 React、Vue 等前端项目设计状态架构、选择状态库、实现缓存与乐观更新、让筛选分页可分享可回退时。

限制与注意:资料为模式与示例说明,未提供安装命令、版本要求、性能基准或具体框架兼容性细节;示例代码需按实际项目调整。反模式部分提醒避免 prop drilling、把服务器数据塞进全局 store、直接修改状态,并建议状态共置、单一数据源、派生而非存储、规范化复杂数据、完整处理加载与错误状态。