0Pricing
React Academy · Leçon

Configurer React Query et QueryClient

Installez TanStack Query, enveloppez votre application dans QueryClientProvider et exécutez votre premier useQuery.

Configurer React Query et QueryClient est une leçon React Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage React Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours React Academy comprend 4 leçons au total.

Bienvenue

Dans cette leçon, vous installerez TanStack Query, configurerez QueryClient et QueryClientProvider, puis exécuterez votre premier useQuery pour récupérer des données depuis une API.

Qu’est-ce que React Query ?

TanStack Query, anciennement React Query, gère l’état serveur : récupération, mise en cache, synchronisation et mise à jour des données provenant de sources distantes. Il remplace la gestion manuelle des états de chargement et d’erreur ainsi que la récupération de données fondée sur useEffect.

Installation

Installez le paquet principal et, si vous le souhaitez, les DevTools.
npm install @tanstack/react-query
npm install @tanstack/react-query-devtools --save-dev

Créer un QueryClient

Créez une instance de QueryClient pour regrouper toute la mise en cache et la configuration. Transmettez-la à QueryClientProvider, qui englobe votre application.
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';

const queryClient = new QueryClient();

createRoot(document.getElementById('root')).render(
  <QueryClientProvider client={queryClient}>
    <App />
  </QueryClientProvider>
);

Votre premier useQuery

Appelez useQuery avec un tableau queryKey et une queryFn qui renvoie les données. La clé identifie de manière unique l’entrée mise en cache.
import { useQuery } from '@tanstack/react-query';

function Posts() {
  const { data, isLoading, isError } = useQuery({
    queryKey: ['posts'],
    queryFn: () => fetch('/api/posts').then(r => r.json()),
  });

  if (isLoading) return <p>Loading...</p>;
  if (isError) return <p>Error!</p>;
  return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}

Clés de requête

Les clés de requête sont des tableaux. Ajoutez des paramètres à la clé pour définir la portée de l’entrée du cache. Des clés différentes donnent des entrées de cache différentes.
// All posts
useQuery({ queryKey: ['posts'], queryFn: fetchPosts })

// Post with id 5
useQuery({ queryKey: ['posts', 5], queryFn: () => fetchPost(5) })

// Posts filtered by category
useQuery({ queryKey: ['posts', { category: 'react' }], queryFn: /* ... */ })

État de la requête

useQuery renvoie plusieurs propriétés d’état : `isLoading`, `isFetching`, `isError`, `isSuccess`, `data` et `error`. `isFetching` vaut true même lors des nouvelles récupérations en arrière-plan ; `isLoading` ne vaut true que lors du premier chargement.

React Query DevTools

Ajoutez ReactQueryDevtools à votre application en développement pour voir toutes les entrées du cache, leur état et la date de leur dernière récupération. C’est un outil très précieux pour le débogage.
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';

<QueryClientProvider client={queryClient}>
  <App />
  <ReactQueryDevtools initialIsOpen={false} />
</QueryClientProvider>

Configuration par défaut

Configurez les valeurs globales par défaut sur le QueryClient : staleTime, gcTime, le nombre de tentatives et refetchOnWindowFocus.
const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      staleTime: 60_000,     // data is fresh for 60s
      retry: 2,              // retry failed queries twice
      refetchOnWindowFocus: false,
    },
  },
});

Nouvelle récupération automatique

Par défaut, React Query récupère de nouveau les données obsolètes lorsque la fenêtre reprend le focus, lorsque le composant est monté de nouveau et lorsque le réseau se reconnecte. Ces comportements peuvent être configurés individuellement pour chaque requête.

Vérification rapide

À quoi sert le tableau queryKey dans useQuery ?

Récapitulatif

Installez @tanstack/react-query, créez QueryClient, englobe votre application avec QueryClientProvider, puis appelez useQuery avec queryKey et queryFn. Ajoutez DevTools pour plus de visibilité. Configurez les valeurs globales par défaut sur QueryClient.

Ensuite

Prochaine leçon : **Mise en cache, durée de fraîcheur et nouvelles récupérations en arrière-plan** — vous configurerez staleTime et gcTime pour contrôler le moment où les données sont récupérées de nouveau.

Questions Fréquemment Posées

La leçon « Configurer React Query et QueryClient » est-elle gratuite ?

Oui — le texte complet de « Configurer React Query et QueryClient » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours React Academy, passe à CoddyKit PRO. Le cours React Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Configurer React Query et QueryClient » ?

Installez TanStack Query, enveloppez votre application dans QueryClientProvider et exécutez votre premier useQuery. Tu pratiques React Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer React Academy ?

Aucune expérience préalable n'est requise. React Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Configurer React Query et QueryClient » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon React Academy ?

Oui. Chaque leçon React Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Configurer React Query et QueryClient
  2. Mise en cache, durée de fraîcheur et récupération en arrière-plan
  3. Mutations avec useMutation
  4. Défilement infini et pagination avec useInfiniteQuery
← Retour à React Academy