작성
·
51
0
"resource": "/c:/Porject/ReactNative/lottoApp/front/src/features/map/hooks/queries/useGetInfinitePosts.ts",
"owner": "typescript",
"code": "2322",
"severity": 8,
"message": "Type 'unique symbol | QueryFunction<ResponsePost[], readonly unknown[], number>' is not assignable to type 'QueryFunction<ResponsePost[], readonly unknown[], number> | undefined'.\n Type 'typeof skipToken' is not assignable to type 'QueryFunction<ResponsePost[], readonly unknown[], number>'.",
"source": "ts",
"startLineNumber": 22,
"startColumn": 5,
"endLineNumber": 22,
"endColumn": 12,
"relatedInformation": [
{
"startLineNumber": 28,
"startColumn": 5,
"endLineNumber": 28,
"endColumn": 12,
"message": "The expected type comes from property 'queryFn' which is declared here on type 'UseSuspenseInfiniteQueryOptions<ResponsePost[], ResponseError, InfiniteData<ResponsePost[], number>, ResponsePost[], readonly unknown[], number>'",
"resource": "/c:/Porject/ReactNative/lottoApp/front/node_modules/@tanstack/react-query/build/modern/types.d.ts"
}
]
}] 라는 오류인데 queryfn이랑 skiptoken이랑 겹친다는 식으로 이야길하는것같은데 영상에서는 딱히 오류가없어서요..
import {queryKeys} from '@/app/config';
import {getFavoritePost, ResponsePost} from '@/shared/api';
import {ResponseError} from '@/shared/types/common';
import {
InfiniteData,
QueryKey,
UseInfiniteQueryOptions,
useSuspenseInfiniteQuery,
} from '@tanstack/react-query';
const useGetInfiniteFavoritePosts = (
queryOptions?: UseInfiniteQueryOptions<
ResponsePost[],
ResponseError,
InfiniteData<ResponsePost[], number>,
ResponsePost[],
QueryKey,
number
>,
) => {
return useSuspenseInfiniteQuery({
queryFn: ({pageParam}) => getFavoritePost(pageParam),
queryKey: [queryKeys.POST, queryKeys.FAVORITE, queryKeys.GET_FAVORITE_POST],
initialPageParam: 1,
getNextPageParam: (lastPage, allPages) => {
const lastPost = lastPage[lastPage.length - 1];
return lastPost ? allPages.length + 1 : undefined;
},
// select: data => data.pages,
...queryOptions,
});
};
export default useGetInfiniteFavoritePosts;
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
정근혁님께서 주신 내용에서는 TypeScript 타입 오류가 발생하고 있는 것 같습니다. 오류 메시지에 따르면 queryFn
이 skipToken
과 겹친다고 나오는데요, 이는 unique symbol
타입이 QueryFunction
타입에 맞지 않다는 의미입니다.
주어진 코드 상으로 보면 useSuspenseInfiniteQuery
에 전달하는 queryFn
은 정상처럼 보입니다. 따라서 아래 사항들을 점검해보시기를 권장드립니다:
queryFn
을 정의하는 부분에서 Typescript가 QueryFunction
과 호환되지 않는다고 지적하고 있습니다. 이는 타입스크립트의 strict 옵션이 활성화되어 있거나, 패키지가 업데이트됨에 따라 타입 정의가 변경되었기 때문일 수 있습니다.
queryKey
나 다른 옵션이 모두 예상치대로 발생하고 있는지 확인하세요. queryKey
에 잘못된 값이 포함되어 있거나 queryOptions
에서 예상하지 못한 타입이 들어갈 수도 있습니다.
QueryFunction
타입이 잘못 정의된 경우, 패키지를 최신 버전으로 업데이트 하거나, @tanstack/react-query
패키지의 변경사항을 확인해보세요.
필요하다면 공식 문서나 기타 레퍼런스를 참고하여 문제가 되는 부분을 확인하시기 바랍니다.
자세한 정보나 예제는 Spring Data JMS 공식 문서나 관련된 자료를 참조하시면 도움이 될 수 있습니다.
그럼 오류가 잘 해결되시기를 바랍니다. 다른 질문 있으시면 언제든지 말씀해 주세요!