tanstack-query
58
总安装量
58
周安装量
#3771
全站排名
安装命令
npx skills add https://github.com/pproenca/dot-skills --skill tanstack-query
Agent 安装分布
claude-code
47
opencode
39
gemini-cli
36
antigravity
35
codex
35
cursor
30
Skill 文档
TanStack Query Best Practices
Comprehensive performance optimization guide for TanStack Query v5 applications. Contains 40 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Writing new queries, mutations, or data fetching logic
- Implementing caching strategies (staleTime, gcTime)
- Reviewing code for performance issues or request waterfalls
- Refactoring existing TanStack Query code
- Implementing infinite queries, Suspense, or optimistic updates
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Query Key Structure | CRITICAL | tquery- |
| 2 | Caching Configuration | CRITICAL | cache- |
| 3 | Mutation Patterns | HIGH | mutation- |
| 4 | Prefetching & Waterfalls | HIGH | prefetch- |
| 5 | Infinite Queries | MEDIUM | infinite- |
| 6 | Suspense Integration | MEDIUM | suspense- |
| 7 | Error & Retry Handling | MEDIUM | error- |
| 8 | Render Optimization | LOW-MEDIUM | render- |
Quick Reference
1. Query Key Structure (CRITICAL)
tquery-key-factories– Use centralized query key factoriestquery-hierarchical-keys– Structure keys from generic to specifictquery-always-arrays– Always use array query keystquery-serializable-objects– Use serializable objects in keystquery-options-pattern– Use queryOptions for type-safe sharingtquery-colocate-keys– Colocate query keys with features
2. Caching Configuration (CRITICAL)
cache-staletime-gctime– Understand staleTime vs gcTimecache-global-defaults– Configure global defaults appropriatelycache-placeholder-vs-initial– Use placeholderData vs initialData correctlycache-invalidation-precision– Invalidate with precisioncache-refetch-triggers– Control automatic refetch triggerscache-enabled-option– Use enabled for conditional queries
3. Mutation Patterns (HIGH)
mutation-optimistic-updates– Implement optimistic updates with rollbackmutation-invalidate-onsettled– Invalidate in onSettled, not onSuccessmutation-cancel-queries– Cancel queries before optimistic updatesmutation-setquerydata– Use setQueryData for immediate cache updatesmutation-avoid-parallel– Avoid parallel mutations on same data
4. Prefetching & Waterfalls (HIGH)
prefetch-avoid-waterfalls– Avoid request waterfallsprefetch-on-hover– Prefetch on hover for perceived speedprefetch-in-queryfn– Prefetch dependent data in queryFnprefetch-server-components– Prefetch in Server Componentsprefetch-flatten-api– Flatten API to reduce waterfalls
5. Infinite Queries (MEDIUM)
infinite-max-pages– Limit infinite query pages with maxPagesinfinite-flatten-pages– Flatten pages for renderinginfinite-refetch-behavior– Understand infinite query refetch behaviorinfinite-loading-states– Handle infinite query loading states correctly
6. Suspense Integration (MEDIUM)
suspense-use-suspense-hooks– Use Suspense hooks for simpler loading statessuspense-error-boundaries– Always pair Suspense with Error Boundariessuspense-parallel-queries– Combine Suspense queries with useSuspenseQueriessuspense-boundaries-placement– Place Suspense boundaries strategically
7. Error & Retry Handling (MEDIUM)
error-retry-config– Configure retry with exponential backofferror-conditional-retry– Use conditional retry based on error typeerror-global-handler– Use global error handler for common errorserror-display-patterns– Display errors appropriatelyerror-throw-on-error– Use throwOnError with Error Boundaries
8. Render Optimization (LOW-MEDIUM)
render-select-memoize– Memoize select functionsrender-select-derived– Use select to derive data and reduce re-rendersrender-notify-props– Use notifyOnChangeProps to limit re-rendersrender-structural-sharing– Understand structural sharingrender-tracked-props– Avoid destructuring all properties
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions – Category structure and impact levels
- Reference files:
references/{prefix}-{slug}.md
Each reference file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references
Related Skills
- For generating type-safe query hooks, see
orvalskill - For mocking API responses in tests, see
test-mswskill - For React 19 data fetching patterns, see
react-19skill
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md