用途:为 React 应用中的 TanStack Query(React Query)提供实现规范,优化数据获取、缓存、变更与服务端状态同步。适用时机包括新建数据获取逻辑、配置查询、实现变更与乐观更新、配置缓存策略、集成 SSR/SSG,以及重构既有数据获取代码。
主要能力:按优先级组织规则。关键级为查询键(5 条,防止缓存错误与数据不一致)与缓存(5 条,优化性能与数据新鲜度);高级为变更(6 条,保证数据完整性与 UI 一致)、错误处理(3 条);中级为预取(4 条)、并行查询(2 条)、无限查询(3 条)、SSR 集成(4 条);低级为性能(4 条)与离线支持(2 条)。
规则要点:查询键使用数组、包含全部依赖变量、按实体→id→过滤器分层组织、复杂应用用键工厂、保证可 JSON 序列化。缓存设置合适的 staleTime 与 gcTime、在 QueryClient 层设默认值、使用定向失效、区分 placeholder 与 initial data。变更后失效相关查询、实现乐观更新、从 onMutate 提供回滚上下文、处理错误、用 isPending 表示加载、用 useMutationState 跨组件跟踪。错误处理配合 useQueryErrorResetBoundary 使用错误边界、配置重试、提供回退数据。预取在用户意图(悬停、聚焦)与路由切换时进行,设置 staleTime,条件预取用 ensureQueryData。无限查询提供 getNextPageParam、检查 isFetchingNextPage、考虑 maxPages。SSR 使用 dehydrate/hydrate、每请求创建 QueryClient、服务端设更高 staleTime、用 HydrationBoundary 包裹。并行查询用 useQueries 并正确取消。性能用 select 转换过滤、利用结构共享、用 notifyOnChangeProps 限制重渲染、用 placeholderData 即时渲染。离线支持配置 network mode 与查询持久化。
使用方式:rules/ 目录下每个规则文件包含说明、反例、正例与适用上下文。
限制:资料未提供安装命令、版本要求、收费信息或具体代码示例,需查阅各规则文件获取详细指导。