Керування станом · Middle · Запитання 33 з 75
Чому кожна змінна, яку використовує queryFn, має входити в queryKey?
- ✓Правильна відповідь: Інакше різні дані кешуються під одним ключем і не перезапитуються при зміні змінної
- 2Бо
queryFnне має доступу до змінних компонента - 3Бо в ключі має бути щонайменше три елементи
Пояснення
Ключ - це ідентичність кешу, як залежності ефекту. useQuery({ queryKey: ['todos'], queryFn: () => fetchTodos(filter) }) покаже результати старого фільтра. ESLint-плагін із правилом exhaustive-deps для запитів це ловить.