Framework
Version

Objekt-Rest-Destrukturierung bei Abfrageergebnissen verbieten

Die Objekt-Rest-Destrukturierung bei Abfrageergebnissen abonniert automatisch jedes Feld des Abfrageergebnisses, was zu unnötigen Neurendern führen kann. Dies stellt sicher, dass Sie sich nur für die Felder abonnieren, die Sie tatsächlich benötigen.

Regeldetails

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

tsx
/* eslint "@tanstack/query/no-rest-destructuring": "warn" */

const useTodos = () => {
  const { data: todos, ...rest } = useQuery({
    queryKey: ['todos'],
    queryFn: () => api.getTodos(),
  })
  return { todos, ...rest }
}
/* eslint "@tanstack/query/no-rest-destructuring": "warn" */

const useTodos = () => {
  const { data: todos, ...rest } = useQuery({
    queryKey: ['todos'],
    queryFn: () => api.getTodos(),
  })
  return { todos, ...rest }
}

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

tsx
const todosQuery = useQuery({
  queryKey: ['todos'],
  queryFn: () => api.getTodos(),
})

// normal object destructuring is fine
const { data: todos } = todosQuery
const todosQuery = useQuery({
  queryKey: ['todos'],
  queryFn: () => api.getTodos(),
})

// normal object destructuring is fine
const { data: todos } = todosQuery

Wann es nicht verwendet werden sollte

Wenn Sie die Option notifyOnChangeProps manuell festlegen, können Sie diese Regel deaktivieren. Da Sie keine nachverfolgten Abfragen verwenden, sind Sie dafür verantwortlich, anzugeben, welche Props einen Neurender auslösen sollen.

Attribute

  • âś… Empfohlen
  • đź”§ Behebbar