Framework
Version

Umfassende Abhängigkeiten für Query Keys

Query Keys sollten als Abhängigkeits-Array für Ihre Query-Funktion betrachtet werden: Jede Variable, die innerhalb der queryFn verwendet wird, sollte dem Query Key hinzugefügt werden. Dies stellt sicher, dass Abfragen unabhängig voneinander zwischengespeichert werden und dass Abfragen automatisch neu abgerufen werden, wenn sich die Variablen ändern.

Regeldetails

Beispiele fĂĽr falschen Code fĂĽr diese Regel

tsx
/* eslint "@tanstack/query/exhaustive-deps": "error" */

useQuery({
  queryKey: ['todo'],
  queryFn: () => api.getTodo(todoId),
})

const todoQueries = {
  detail: (id) => ({ queryKey: ['todo'], queryFn: () => api.getTodo(id) }),
}
/* eslint "@tanstack/query/exhaustive-deps": "error" */

useQuery({
  queryKey: ['todo'],
  queryFn: () => api.getTodo(todoId),
})

const todoQueries = {
  detail: (id) => ({ queryKey: ['todo'], queryFn: () => api.getTodo(id) }),
}

Beispiele fĂĽr korrekten Code fĂĽr diese Regel

tsx
useQuery({
  queryKey: ['todo', todoId],
  queryFn: () => api.getTodo(todoId),
})

const todoQueries = {
  detail: (id) => ({ queryKey: ['todo', id], queryFn: () => api.getTodo(id) }),
}
useQuery({
  queryKey: ['todo', todoId],
  queryFn: () => api.getTodo(todoId),
})

const todoQueries = {
  detail: (id) => ({ queryKey: ['todo', id], queryFn: () => api.getTodo(id) }),
}

Wann es nicht verwendet werden sollte

Wenn Ihnen die Regeln für Query Keys egal sind, dann benötigen Sie diese Regel nicht.

Attribute

  • âś… Empfohlen
  • đź”§ Behebbar