queryKey

React 🟡 Mid

Definition

Identifiant unique d'une requete dans TanStack Query, utilise pour le cache, la deduplication et l'invalidation. Generalement un tableau hierarchique.

Analogie

Comme l'etiquette d'un tiroir de rangement : elle dit exactement ce qu'il y a dedans et permet de le retrouver.

Exemple de code

// Hierarchique pour une invalidation fine
useQuery({ queryKey: ['users'] });
useQuery({ queryKey: ['users', userId] });
useQuery({ queryKey: ['users', userId, 'posts'] });

// Invalider tout ce qui commence par 'users'
queryClient.invalidateQueries({ queryKey: ['users'] });

Cas d'usage

Structurer les cles de facon hierarchique pour pouvoir invalider a differents niveaux de granularite.

Anti-pattern

Utiliser des strings simples au lieu de tableaux hierarchiques, rendant l'invalidation partielle impossible.
#data-fetching