译零 TransZero · TanStack Query 中文文档
主站

usePrefetchInfiniteQuery

更新于 2026-11-02 Preact 查看英文原文 ↗
TypeScript
1function usePrefetchInfiniteQuery<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: UsePrefetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>, queryClient?: QueryClient): void;

定义位置:packages/preact-query/src/usePrefetchInfiniteQuery.tsx:48

usePrefetchInfiniteQuery 不返回任何值,仅应在渲染期间、在包裹使用 useSuspenseInfiniteQuery 的组件的 Suspense 边界之前调用,以触发预取。你可以向 usePrefetchInfiniteQuery 传入所有能传给 queryClient.infiniteQuery 的参数,但 queryKey、initialPageParam 和 getNextPageParam 始终为必填项,而 queryFn 仅在未定义默认查询函数时才为必填项。

getNextPageParam 接收无限数据列表的最后一页、包含所有页的完整数组,以及 pageParam 信息,并应返回一个变量,该变量将作为 context.pageParam 传入你的查询函数。返回 undefined 或 null 表示下一页不可用。

若查询已存在任何缓存状态(包括此前尝试遗留的 pending/error 状态),则跳过预取;因此每次渲染都调用此函数开销很低,不会重新拉取已存在或已在进行中的数据。

类型参数

TQueryFnData

TQueryFnData = unknown

TError

TError = Error

TData

TData = TQueryFnData

TQueryKey

TQueryKey extends readonly unknown[] = readonly unknown[]

TPageParam

TPageParam = unknown

参数

options

UsePrefetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>

要使用的 UsePrefetchInfiniteQueryOptions —— 即所有可传给 queryClient.infiniteQuery 的参数。

queryClient?

QueryClient

使用此参数可指定自定义 QueryClient;否则将使用最近上下文中的 QueryClient。

返回值

void

示例

TypeScript
1import { Suspense } from 'preact/compat'2import { infiniteQueryOptions, usePrefetchInfiniteQuery } from '@tanstack/preact-query'3 4const projectsOptions = infiniteQueryOptions({5  queryKey: ['projects'],6  queryFn: ({ pageParam }) => fetchProjects(pageParam),7  initialPageParam: 0,8  getNextPageParam: (lastPage) => lastPage.nextId,9})10 11function App() {12  // Fire the prefetch during render, before the suspense boundary below.13  usePrefetchInfiniteQuery(projectsOptions)14 15  return (16    <Suspense fallback={<h1>Loading projects...</h1>}>17      <Projects />18    </Suspense>19  )20}

本页为 TanStack Query 文档(Preact 版)的非官方中文翻译,原文由上游团队维护,遵循 MIT 许可。 译文如有偏差,以英文原文为准。

译自上游 59d11de