TanStackT
TanStack2y ago
5 replies
naughty-peach

Tanstack Query pageParam typescript, readonly

This is my code:
 const { data, isLoading, fetchNextPage, hasNextPage, isFetchingNextPage } =
    useInfiniteQuery<
      PropiedadesResponse,
      unknown,
      InfinitePropiedadesData,
      number
    >({
      queryKey: ["propiedades", sort, debouncedFilters],
      initialPageParam: 1,
      queryFn: ({ pageParam }: { pageParam: number }) =>
        getPageData(pageParam, sort, debouncedFilters),
      getNextPageParam: (lastPage) => {
        const { total, pageSize, pageCount } = lastPage.meta.pagination;
        const currentPage = Math.ceil(total / pageSize); 
        return currentPage < pageCount ? currentPage + 1 : undefined;
      },
      staleTime: 5 * 1000,
      enabled: !!filters.type,
    });


I keep getting the same TS error:
Type 'number' does not satisfy the constraint 'readonly unknown[]'.ts(2344)
⚠ Error (TS2344) |
Type
does not satisfy the constraint readonly unknown[] .

In the Tanstack Query Course I remember they talked about the value that pageParam will always be unknown but we can type it, right?

(alias) useInfiniteQuery<PropiedadesResponse, unknown, InfinitePropiedadesData, number, unknown>(options: DefinedInitialDataInfiniteOptions<PropiedadesResponse, unknown, InfinitePropiedadesData, number, unknown>, queryClient?: QueryClient | undefined): DefinedUseInfiniteQueryResult<...> (+2 overloads)
import useInfiniteQuery
Was this page helpful?