ts2769

bebrain·2023년 6월 30일
0

api > useGetPostList.ts파일

Error : ts2769

카테고리별 분류를 위해 queryKey에 category변수를 넣자 발생한 에러로 다음은 에러 전문.

No overload matches this call.

Overload 2 of 3, '(queryKey: [string, string | undefined, number | undefined], options?: Omit<UseInfiniteQueryOptions<AxiosResponse<PostListResponse, any>, DefaultError, AxiosResponse<...>, AxiosResponse<...>, [...]>, "queryKey"> | undefined): UseInfiniteQueryResult<...>', gave the following error.

Argument of type '{ queryKey: (string | number | undefined)[]; queryFn: ({ pageParam }: QueryFunctionContext<[string, string | undefined, number | undefined], any>) => Promise<AxiosResponse<PostListResponse, any>>; getNextPageParam: (lastPage: AxiosResponse<...>) => number | undefined; cacheTime: number; notifyOnChangeProps: string[]...' is not assignable to parameter of type '[string, string | undefined, number | undefined]'.

Object literal may only specify known properties, and 'queryKey' does not exist in type '[string, string | undefined, number | undefined]'.ts(2769)

→ 미해결 (정상작동하나 추후 빌드에러시 확인 필요)


console에 "pull-to-refresh destroyed"라고 찍힌다.
불길한 예감이...


useInfiniteQuery<Awaited<ReturnType<typeof getPostList>>,
DefaultError,...

다시 코드를 보니 useInfiniteQuery안에 디폴트 에러값이 들어있던 것이 원인이었다. 카테고리 type은 string인데 디폴트 에러코드가 string이었던 것이다. 아마 이전 로직에는 카테고리없이 id값으로만 post를 요청해서 저렇게 설계해놓은 것 같다.

interface DefaultErrorResponse {
  errorCode: string;
}

export type DefaultError = AxiosError<DefaultErrorResponse>;

0개의 댓글