무한 쿼리에서 추론에 민감한 속성의 올바른 순서를 보장합니다
다음 함수에서는 타입 추론으로 인해 전달된 객체의 속성 순서가 중요합니다:
useInfiniteQueryuseSuspenseInfiniteQueryinfiniteQueryOptions
올바른 속성 순서는 다음과 같습니다:
queryFngetPreviousPageParamgetNextPageParam
다른 모든 속성은 타입 추론에 의존하지 않으므로 순서의 영향을 받지 않습니다.
규칙 세부 정보
이 규칙에 맞지 않는 잘못된 코드의 예:
/* eslint "@tanstack/query/infinite-query-property-order": "warn" */
import { useInfiniteQuery } from '@tanstack/react-query'
const query = useInfiniteQuery({
queryKey: ['projects'],
getNextPageParam: (lastPage) => lastPage.nextId ?? undefined,
queryFn: async ({ pageParam }) => {
const response = await fetch(`/api/projects?cursor=${pageParam}`)
return await response.json()
},
initialPageParam: 0,
getPreviousPageParam: (firstPage) => firstPage.previousId ?? undefined,
maxPages: 3,
})
이 규칙에 맞는 올바른 코드의 예:
/* eslint "@tanstack/query/infinite-query-property-order": "warn" */
import { useInfiniteQuery } from '@tanstack/react-query'
const query = useInfiniteQuery({
queryKey: ['projects'],
queryFn: async ({ pageParam }) => {
const response = await fetch(`/api/projects?cursor=${pageParam}`)
return await response.json()
},
initialPageParam: 0,
getPreviousPageParam: (firstPage) => firstPage.previousId ?? undefined,
getNextPageParam: (lastPage) => lastPage.nextId ?? undefined,
maxPages: 3,
})
속성
- ✅ 권장
- 🔧 수정 가능