Zarządzanie stanem · Middle · Pytanie 33 z 75
Dlaczego każda zmienna używana przez queryFn musi być częścią queryKey?
- ✓Poprawna odpowiedź: Inaczej różne dane trafiają do cache pod tym samym kluczem i nie są pobierane po zmianie zmiennej
- 2Bo
queryFnnie ma dostępu do zmiennych komponentu - 3Bo klucz musi mieć co najmniej trzy elementy
Wyjaśnienie
Klucz to tożsamość cache, jak zależności efektu. useQuery({ queryKey: ['todos'], queryFn: () => fetchTodos(filter) }) pokaże wyniki starego filtra. Plugin ESLint z regułą exhaustive-deps dla zapytań to wyłapuje.