본문으로 건너뛰기

쿼리 결과에 객체 나머지 구조 분해 할당을 허용하지 않습니다.

쿼리 결과에 객체 나머지 구조 분해를 사용하면 쿼리 결과의 모든 필드를 자동으로 구독하므로 불필요한 재렌더링이 발생할 수 있습니다. 이를 통해 실제로 필요한 필드만 구독하도록 보장합니다.

규칙 세부 정보

이 규칙에 맞지 않는 잘못된 코드의 예:

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

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

이 규칙에 맞는 올바른 코드의 예:

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

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

타입 기반 린팅을 활성화하면 이 규칙은 TanStack Query 결과를 반환하는 사용자 지정 훅의 나머지 구조 분해에도 플래그를 지정합니다.

사용하지 말아야 하는 경우

notifyOnChangeProps 옵션을 수동으로 설정하면 이 규칙을 비활성화할 수 있습니다. 추적되는 쿼리를 사용하지 않으므로 어떤 props가 다시 렌더링을 트리거해야 하는지 직접 지정해야 합니다.

속성

  • ✅ 권장
  • 🔧 수정 가능