쿼리 결과에 객체 나머지 구조 분해 할당을 허용하지 않습니다.
쿼리 결과에 객체 나머지 구조 분해를 사용하면 쿼리 결과의 모든 필드를 자동으로 구독하므로 불필요한 재렌더링이 발생할 수 있습니다. 이를 통해 실제로 필요한 필드만 구독하도록 보장합니다.
규칙 세부 정보
이 규칙에 맞지 않는 잘못된 코드의 예:
/* 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가 다시 렌더링을 트리거해야 하는지 직접 지정해야 합니다.
속성
- ✅ 권장
- 🔧 수정 가능