Zarządzanie stanem · Senior · Pytanie 23 z 75
Dlaczego zaleca się fabryki kluczy zapytań?
export const todoKeys = {
all: ["todos"] as const,
lists: () => [...todoKeys.all, "list"] as const,
list: (filters: Filters) => [...todoKeys.lists(), filters] as const,
detail: (id: number) => [...todoKeys.all, "detail", id] as const,
};- ✓Poprawna odpowiedź: Klucze pozostają spójne i hierarchiczne, więc inwalidacja po prefiksie jest niezawodna
- 2TanStack Query wymaga deklarowania kluczy w jednym obiekcie
- 3Fabryki sprawiają, że zapytania wykonują się równolegle
Wyjaśnienie
Literówki w ręcznie pisanych kluczach po cichu psują cache'owanie i inwalidację. Fabryka daje jedno źródło prawdy: invalidateQueries({ queryKey: todoKeys.lists() }) odświeża wszystkie listy, ale nie szczegóły.