Research Tanstack Query Patterns
Use this skill when you need to:
- •Learn client-side data fetching patterns
- •Understand caching and invalidation strategies
- •Research mutations and optimistic updates
- •Find pagination and infinite scroll patterns
- •Learn about prefetching and SSR integration
Process
- •
Identify Data Fetching Need
- •Queries (GET), mutations (POST/PUT/DELETE)?
- •Caching strategy needed?
- •Optimistic updates required?
- •Pagination or infinite scroll?
- •
Search Documentation (Ref)
codeQuery patterns: - "Tanstack Query React Query [feature]" - "React Query useQuery caching" - "React Query useMutation optimistic updates" - "React Query Next.js integration"
- •
Find Real Implementations (Exa)
codeQuery patterns: - "Tanstack Query useQuery TypeScript example" - "React Query useMutation optimistic update implementation" - "React Query pagination infinite scroll example" - "React Query Next.js SSR prefetch example"
- •
Consider Integration
- •How does this work with Next.js Server Components?
- •Client Component boundaries?
- •Type safety with API responses?
Common Research Topics
Basic Queries
typescript
// Documentation Query: "Tanstack Query useQuery hook" // Code examples Query: "React Query useQuery TypeScript fetch API example"
Mutations
typescript
// Documentation Query: "Tanstack Query useMutation" // Code examples Query: "React Query useMutation POST request invalidate cache example"
Optimistic Updates
typescript
// Documentation Query: "Tanstack Query optimistic updates" // Code examples Query: "React Query optimistic update todo list rollback example"
Pagination
typescript
// Documentation Query: "Tanstack Query pagination useQuery" // Code examples Query: "React Query pagination page state keepPreviousData example"
Infinite Scroll
typescript
// Documentation Query: "Tanstack Query infinite queries" // Code examples Query: "React Query useInfiniteQuery infinite scroll implementation"
Prefetching
typescript
// Documentation Query: "Tanstack Query prefetch queryClient" // Code examples Query: "React Query prefetchQuery Next.js server component example"
Next.js Integration
With Server Components
typescript
// Research pattern Query: "React Query Next.js 15 server components prefetch hydration"
With Server Actions
typescript
// Research pattern Query: "React Query Next.js server actions mutation invalidation"
SSR and Hydration
typescript
// Research pattern Query: "React Query Next.js SSR hydration dehydrate example"
Advanced Patterns
Dependent Queries
code
Query: "React Query dependent queries enabled option example"
Parallel Queries
code
Query: "React Query parallel queries useQueries hook example"
Query Invalidation
code
Query: "React Query invalidate queries specific pattern example"
Background Refetching
code
Query: "React Query background refetch staleTime refetchInterval"
Error Handling
code
Query: "React Query error handling retry onError example"
Caching Strategies
Research topics:
- •Cache time vs stale time
- •Garbage collection
- •Cache invalidation patterns
- •Persistent caching
- •Cache warming
code
Query: "React Query caching strategy staleTime cacheTime best practices" Query: "React Query cache persistence localStorage example"
Output Format
Provide:
- •Pattern explanation - How the pattern works
- •Code examples - Real implementations from Exa
- •Type safety - TypeScript patterns and generics
- •Caching strategy - When data refetches
- •Best practices - Error handling, loading states
- •Integration guide - How to use in this project
Project Context
Your project uses:
- •Tanstack Query 5.90.2
- •Next.js 15 Server Components + Client Components
- •TypeScript with strict mode
- •API routes for backend
Consider:
- •Query keys organization
- •Global error handling
- •Loading state management
- •Integration with Server Components
Common Use Cases
List Views
code
Research: "React Query useQuery list pagination filtering"
Detail Views
code
Research: "React Query useQuery detail view cache update"
Forms
code
Research: "React Query useMutation form submission validation"
Real-time Updates
code
Research: "React Query polling refetchInterval WebSocket integration"
When to Use
- •Fetching data in Client Components
- •Managing server state cache
- •Implementing mutations with optimistic updates
- •Building paginated or infinite scroll lists
- •Prefetching data for performance
- •Debugging data fetching issues
- •Optimizing API calls and caching
Comparison with Server Components
Research when to use:
- •Server Components (initial data load)
- •Tanstack Query (client-side updates, interactivity)
code
Query: "React Query vs Next.js server components when to use"
Related Skills
- •research-nextjs (for integration patterns)
- •research-react (for hooks and state)
- •research-typescript (for type safety)