tanstack-query-best-practices by deckardger/tanstack-agent-skills
npx skills add https://github.com/deckardger/tanstack-agent-skills --skill tanstack-query-best-practices在 React 应用程序中实现 TanStack Query(React Query)模式的全面指南。这些规则优化了数据获取、缓存、变更和服务器状态同步。
| 优先级 | 类别 | 规则数量 | 影响 |
|---|---|---|---|
| 关键 | 查询键 | 5 条规则 | 防止缓存错误和数据不一致 |
| 关键 | 缓存 | 5 条规则 | 优化性能和数据新鲜度 |
| 高 | 变更 | 6 条规则 | 确保数据完整性和 UI 一致性 |
| 高 | 错误处理 | 3 条规则 | 防止不良用户体验 |
| 中 | 预取 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 4 条规则 |
| 提升感知性能 |
| 中 | 并行查询 | 2 条规则 | 支持动态并行获取 |
| 中 | 无限查询 | 3 条规则 | 防止分页错误 |
| 中 | SSR 集成 | 4 条规则 | 支持正确的水合 |
| 低 | 性能 | 4 条规则 | 减少不必要的重新渲染 |
| 低 | 离线支持 | 2 条规则 | 支持离线优先模式 |
qk-)qk-array-structure — 始终对查询键使用数组qk-include-dependencies — 包含查询依赖的所有变量qk-hierarchical-organization — 按层次结构组织键(实体 → id → 过滤器)qk-factory-pattern — 对于复杂应用,使用查询键工厂qk-serializable — 确保所有键部分都是 JSON 可序列化的cache-)cache-stale-time — 根据数据易变性设置合适的 staleTimecache-gc-time — 为非活动查询配置 gcTimecache-defaults — 在 QueryClient 级别设置合理的默认值cache-invalidation — 使用有针对性的失效,而非宽泛的模式cache-placeholder-vs-initial — 理解占位数据与初始数据的区别mut-)mut-invalidate-queries — 变更后始终使相关查询失效mut-optimistic-updates — 为响应式 UI 实现乐观更新mut-rollback-context — 从 onMutate 提供回滚上下文mut-error-handling — 优雅地处理变更错误mut-loading-states — 使用 isPending 表示变更加载状态mut-mutation-state — 使用 useMutationState 进行跨组件跟踪err-)err-error-boundaries — 结合 useQueryErrorResetBoundary 使用错误边界err-retry-config — 适当配置重试逻辑err-fallback-data — 在适当时提供回退数据pf-)pf-intent-prefetch — 基于用户意图(悬停、聚焦)进行预取pf-route-prefetch — 在路由转换期间预取数据pf-stale-time-config — 预取时设置 staleTimepf-ensure-query-data — 使用 ensureQueryData 进行条件预取inf-)inf-page-params — 始终提供 getNextPageParaminf-loading-guards — 在获取更多数据前检查 isFetchingNextPageinf-max-pages — 对于大型数据集,考虑 maxPagesssr-)ssr-dehydration — 对 SSR 使用 dehydrate/hydrate 模式ssr-client-per-request — 为每个请求创建 QueryClientssr-stale-time-server — 在服务器上设置更高的 staleTimessr-hydration-boundary — 使用 HydrationBoundary 包装parallel-)parallel-use-queries — 对动态并行查询使用 useQueriesquery-cancellation — 正确实现查询取消perf-)perf-select-transform — 使用 select 来转换/过滤数据perf-structural-sharing — 利用结构共享perf-notify-change-props — 使用 notifyOnChangeProps 限制重新渲染perf-placeholder-data — 使用 placeholderData 实现即时 UIoffline-)network-mode — 为离线支持配置网络模式persist-queries — 为离线支持配置查询持久化rules/ 目录下的每个规则文件包含:
详细指南和代码示例,请参阅 rules/ 目录中的各个规则文件。
每周安装量
1.5K
仓库
GitHub 星标数
82
首次出现
2026年1月20日
安全审计
安装于
opencode1.3K
codex1.2K
gemini-cli1.2K
github-copilot1.2K
cursor1.1K
amp1.1K
Comprehensive guidelines for implementing TanStack Query (React Query) patterns in React applications. These rules optimize data fetching, caching, mutations, and server state synchronization.
| Priority | Category | Rules | Impact |
|---|---|---|---|
| CRITICAL | Query Keys | 5 rules | Prevents cache bugs and data inconsistencies |
| CRITICAL | Caching | 5 rules | Optimizes performance and data freshness |
| HIGH | Mutations | 6 rules | Ensures data integrity and UI consistency |
| HIGH | Error Handling | 3 rules | Prevents poor user experiences |
| MEDIUM | Prefetching | 4 rules | Improves perceived performance |
| MEDIUM | Parallel Queries | 2 rules | Enables dynamic parallel fetching |
| MEDIUM | Infinite Queries | 3 rules | Prevents pagination bugs |
| MEDIUM | SSR Integration | 4 rules | Enables proper hydration |
| LOW | Performance | 4 rules | Reduces unnecessary re-renders |
| LOW | Offline Support | 2 rules | Enables offline-first patterns |
qk-)qk-array-structure — Always use arrays for query keysqk-include-dependencies — Include all variables the query depends onqk-hierarchical-organization — Organize keys hierarchically (entity → id → filters)qk-factory-pattern — Use query key factories for complex applicationsqk-serializable — Ensure all key parts are JSON-serializablecache-)cache-stale-time — Set appropriate staleTime based on data volatilitycache-gc-time — Configure gcTime for inactive query retentioncache-defaults — Set sensible defaults at QueryClient levelcache-invalidation — Use targeted invalidation over broad patternscache-placeholder-vs-initial — Understand placeholder vs initial data differencesmut-)mut-invalidate-queries — Always invalidate related queries after mutationsmut-optimistic-updates — Implement optimistic updates for responsive UImut-rollback-context — Provide rollback context from onMutatemut-error-handling — Handle mutation errors gracefullymut-loading-states — Use isPending for mutation loading statesmut-mutation-state — Use useMutationState for cross-component trackingerr-)err-error-boundaries — Use error boundaries with useQueryErrorResetBoundaryerr-retry-config — Configure retry logic appropriatelyerr-fallback-data — Provide fallback data when appropriatepf-)pf-intent-prefetch — Prefetch on user intent (hover, focus)pf-route-prefetch — Prefetch data during route transitionspf-stale-time-config — Set staleTime when prefetchingpf-ensure-query-data — Use ensureQueryData for conditional prefetchinginf-)inf-page-params — Always provide getNextPageParaminf-loading-guards — Check isFetchingNextPage before fetching moreinf-max-pages — Consider maxPages for large datasetsssr-)ssr-dehydration — Use dehydrate/hydrate pattern for SSRssr-client-per-request — Create QueryClient per requestssr-stale-time-server — Set higher staleTime on serverssr-hydration-boundary — Wrap with HydrationBoundaryparallel-)parallel-use-queries — Use useQueries for dynamic parallel queriesquery-cancellation — Implement query cancellation properlyperf-)perf-select-transform — Use select to transform/filter dataperf-structural-sharing — Leverage structural sharingperf-notify-change-props — Limit re-renders with notifyOnChangePropsperf-placeholder-data — Use placeholderData for instant UIoffline-)network-mode — Configure network mode for offline supportpersist-queries — Configure query persistence for offline supportEach rule file in the rules/ directory contains:
See individual rule files in rules/ directory for detailed guidance and code examples.
Weekly Installs
1.5K
Repository
GitHub Stars
82
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode1.3K
codex1.2K
gemini-cli1.2K
github-copilot1.2K
cursor1.1K
amp1.1K
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
102,200 周安装
AI智能体长期记忆系统 - 精英级架构,融合6种方法,永不丢失上下文
1,200 周安装
AI新闻播客制作技能:实时新闻转对话式播客脚本与音频生成
1,200 周安装
Word文档处理器:DOCX创建、编辑、分析与修订痕迹处理全指南 | 自动化办公解决方案
1,200 周安装
React Router 框架模式指南:全栈开发、文件路由、数据加载与渲染策略
1,200 周安装
Nano Banana AI 图像生成工具:使用 Gemini 3 Pro 生成与编辑高分辨率图像
1,200 周安装
SVG Logo Designer - AI 驱动的专业矢量标识设计工具,生成可缩放品牌标识
1,200 周安装