Skip to content
Back to skills

React Query

ASecurity

Guidelines for using React Query for data fetching, caching, and server state synchronization in React applications

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
developmenttypescriptreactapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add jgamaraalv/delivery-loop --skill react-query --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of React Query?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for React Query
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jgamaraalv-react-query/badge)](https://www.skillsdirectory.com/skills/jgamaraalv-react-query)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: react-query
description: Guidelines for using React Query for data fetching, caching, and server state synchronization in React applications
---

## Core Principles

- Use React Query for all data fetching and caching
- Leverage React Query's built-in state management instead of `useState` for server data
- Use React Context and `useReducer` for managing client-side global state
- Avoid excessive API calls through proper caching strategies
- Always handle loading states and errors properly

## Topics by Concern

| Concern                     | Reference                        |
| --------------------------- | -------------------------------- |
| Client setup & file layout  | `references/setup.md`            |
| Reading data                | `references/queries.md`          |
| Writing data                | `references/mutations.md`        |
| Server vs. client state     | `references/state-management.md` |
| Caching speed & re-renders  | `references/performance.md`      |
| Failure handling & recovery | `references/error-handling.md`   |

## References

Each file is loaded on demand — read one only when the task needs that depth (progressive disclosure).

- `references/setup.md` — feature-based project structure plus the one-time `QueryClient`/`QueryClientProvider` configuration (staleTime, cacheTime, retry, DevTools) · read when scaffolding React Query in a project or tuning client defaults.
- `references/queries.md` — query hooks: basic typed query, service-thrown user-friendly errors, dependent (`enabled`) queries, paginated (`keepPreviousData`) queries, and `useInfiniteQuery` · read when fetching/reading any server data.
- `references/mutations.md` — mutation hooks: basic mutation with cache invalidation, and the four-callback optimistic-update pattern (`onMutate`/`onError`/`onSettled`) · read when creating, updating, or deleting server data.
- `references/state-management.md` — the server-state vs. client-state split, integrating React Query alongside Context/Reducer or Zustand · read when deciding where a piece of state lives or wiring React Query into existing global state.
- `references/performance.md` — structured query-key factories, `select` for selective subscriptions, and prefetching on user intent · read when invalidation is imprecise, components re-render too often, or navigation feels slow.
- `references/error-handling.md` — global `QueryClient` `onError` defaults and `QueryErrorResetBoundary` + error boundaries with retry · read when standardizing error behavior or adding render-time error recovery.

## Key Conventions

1. Use React Query DevTools to inspect cache and track query status
2. Group react-query hooks within feature-specific directories (feature-based organization)
3. Always handle errors properly with user-friendly messages and retry options
4. Fetch only required data - use API parameters to reduce data transfer
5. Avoid deeply nesting queries - flatten when possible for better performance
6. Use local state for component-specific data, global state for shared data
7. Leverage React Query's built-in caching and state management capabilities

## Anti-Patterns to Avoid

- Do not use `useEffect` for data fetching
- Do not store server data in `useState`
- Do not forget loading and error state handling
- Do not create queries without proper cache invalidation strategies
- Do not skip the `enabled` option for conditional queries
- Do not ignore TypeScript types for query responses

Files in this skill

  • SKILL.md3.4 KB
  • references/error-handling.md1.4 KB
  • references/mutations.md1.7 KB
  • references/performance.md1.6 KB
  • references/queries.md2.5 KB
  • references/setup.md1.6 KB
  • references/state-management.md1.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…