deckardger/tanstack-query-mejores-prácticas

Mejores prácticas de TanStack Query (React Query) para la obtención de datos, almacenamiento en caché, mutaciones y gestión del estado del servidor. Actívese al construir aplicaciones React impulsadas por datos con estado del servidor.

¿Qué es tanstack-query-mejores-prácticas?

Esta habilidad proporciona un conjunto integral de mejores prácticas para TanStack Query (anteriormente React Query), centrándose en la obtención eficiente de datos, el almacenamiento en caché, las mutaciones y la gestión del estado del servidor en aplicaciones React. Es útil para desarrolladores que buscan optimizar el rendimiento de sus aplicaciones React al manejar datos asíncronos y garantizar una sincronización confiable con el servidor. La habilidad abarca conceptos clave como claves de consulta, manejo de errores, actualizaciones optimistas y estrategias de invalidación de caché. Está diseñada para activarse automáticamente al trabajar con aplicaciones React que dependen del estado del servidor, ofreciendo pautas claras y ejemplos prácticos para evitar antipatrones comunes. Soporta plataformas donde TanStack Query está disponible, incluyendo React, Vue, Svelte y Angular, aunque con enfoque principal en React.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/deckardger/tanstack-agent-skills/tree/main/skills/tanstack-query-best-practices

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace tanstack-query-mejores-prácticas?

Mejores prácticas de TanStack Query (React Query) para la obtención de datos, almacenamiento en caché, mutaciones y gestión del estado del servidor. Actívese al construir aplicaciones React impulsadas por datos con estado del servidor.

Principios Clave

  • Claves de Consulta: Defina claves de consulta de manera consistente y estructurada para facilitar el almacenamiento en caché y la invalidación. Ejemplo: ['proyectos', { id: proyectoId }].
  • Manejo de Errores: Proporcione un manejo de errores robusto con límites de error de React o callbacks de error personalizados.
  • Actualizaciones Optimistas: Use onMutate para aplicar cambios optimistas en la interfaz de usuario, revirtiéndolos en caso de error si es necesario.
  • Invalidación de Caché: Invalide la caché solo cuando sea necesario para evitar solicitudes innecesarias, usando queryClient.invalidateQueries({ queryKey: key }).

Buenas Prácticas

  1. Evite consultas en línea: Mueva la lógica de obtención de datos a hooks personalizados con useQuery.
  2. Use selectores: Transforme datos con el parámetro select de useQuery para evitar renderizados innecesarios.
  3. Configure tiempos de espera: Ajuste staleTime y cacheTime según la frecuencia de cambio de los datos.
  4. Gestión de Mutaciones: Desacople las mutaciones del estado de la consulta principal con useMutation.
  5. Pruebas: Pruebe los hooks de React Query con utilidades de prueba como QueryClientProvider en un entorno de prueba.

Ejemplo

import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';

function useProjects() {
  return useQuery({
    queryKey: ['projects'],
    queryFn: fetchProjects,
    staleTime: 5 * 60 * 1000, // 5 minutos
  });
}

function useCreateProject() {
  const queryClient = useQueryClient();
  return useMutation({
    mutationFn: createProject,
    onSuccess: () => {
      queryClient.invalidateQueries({ queryKey: ['projects'] });
    },
  });
}

Recursos Adicionales

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills relacionados