
const {fetchNextPage,fetchPreviousPage,hasNextPage,hasPreviousPage,isFetchingNextPage,isFetchingPreviousPage,...result} = useInfiniteQuery(queryKey, ({ pageParam = 1 }) => fetchPage(pageParam), {...options,getNextPageParam: (lastPage, allPages) => lastPage.nextCursor,getPreviousPageParam: (firstPage, allPages) => firstPage.prevCursor,})
Options
The options for useInfiniteQuery are identical to the useQuery hook with the addition of the following:
queryFn: (context: QueryFunctionContext) => Promise<TData>defaultQueryFnpageParam if needed for use in the props below.getNextPageParam: (lastPage, allPages) => unknown | undefinedundefined to indicate there is no next page available.getPreviousPageParam: (firstPage, allPages) => unknown | undefinedundefined to indicate there is no previous page available.Returns
The returned properties for useInfiniteQuery are identical to the useQuery hook, with the addition of the following:
data.pages: TData[]data.pageParams: unknown[]isFetchingNextPage: booleantrue while fetching the next page with fetchNextPage.isFetchingPreviousPage: booleantrue while fetching the previous page with fetchPreviousPage.fetchNextPage: (options?: FetchNextPageOptions) => Promise<UseInfiniteQueryResult>options.pageParam: unknown allows you to manually specify a page param instead of using getNextPageParam.options.cancelRefetch: boolean if set to true, calling fetchNextPage repeatedly will invoke fetchPage every time, whether the previous
invocation has resolved or not. Also, the result from previous invocations will be ignored. If set to false, calling fetchNextPage
repeatedly won't have any effect until the first invocation has resolved. Default is true.fetchPreviousPage: (options?: FetchPreviousPageOptions) => Promise<UseInfiniteQueryResult>options.pageParam: unknown allows you to manually specify a page param instead of using getPreviousPageParam.options.cancelRefetch: boolean same as for fetchNextPage.hasNextPage: booleantrue if there is a next page to be fetched (known via the getNextPageParam option).hasPreviousPage: booleantrue if there is a previous page to be fetched (known via the getPreviousPageParam option).The best JavaScript newsletter! Delivered every Monday to over 76,000 devs.