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

infiniteQueryOptions

更新于 2026-11-02 Solid 查看英文原文 ↗

概述

TypeScript
1function infiniteQueryOptions<TQueryFnData, TError = Error, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: InfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & object): ReturnType<DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;2function infiniteQueryOptions<TQueryFnData, TError = Error, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: InfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & object): ReturnType<UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;

另请参阅:参数 · 返回值

调用签名

TypeScript
1function infiniteQueryOptions<TQueryFnData, TError = Error, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: InfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & object): ReturnType<DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;

定义于:packages/solid-query/src/infiniteQueryOptions.ts:107

你通常可以向 infiniteQueryOptions 传入所有能传给 useInfiniteQuery 的参数。
这些选项可在 Hook 和 queryClient.infiniteQuery 等命令式 API 之间共享。
options.queryKey 是必需的,用于生成选项的查询键。

当 initialData 已知已定义时,将选择此重载。

类型参数

TQueryFnData

TQueryFnData

TError

TError = Error

TData

TData = InfiniteData<TQueryFnData, unknown>

TQueryKey

TQueryKey extends readonly unknown[] = readonly unknown[]

TPageParam

TPageParam = unknown

参数

options

InfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & object

要使用的 DefinedInitialDataInfiniteOptions —— 即所有可传给 useInfiniteQuery 的参数,且 initialData 已知已定义。

返回值

ReturnType<DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>

相同选项对象,其类型被标注为使 queryKey 携带推断出的数据类型。

参阅

使用 useInfiniteQuery 运行具有这些选项的无限查询。

示例

TypeScript
1import { For } from 'solid-js'2import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/solid-query'3 4const projectsOptions = infiniteQueryOptions({5  queryKey: ['projects'],6  queryFn: ({ pageParam }) => fetchProjects(pageParam),7  initialPageParam: 0,8  getNextPageParam: (lastPage) => lastPage.nextId,9  initialData: { pages: [], pageParams: [] },10})11 12function Projects() {13  // `projectsQuery.data` is never `undefined`, thanks to `initialData` — even if a refetch fails, so the14  // list stays visible alongside the error.15  const projectsQuery = useInfiniteQuery(() => projectsOptions)16 17  return (18    <div>19      {projectsQuery.isError ? <span>Error: {projectsQuery.error.message}</span> : null}20      <ul>21        <For each={projectsQuery.data.pages}>22          {(page) => <For each={page.projects}>{(p) => <li>{p.name}</li>}</For>}23        </For>24      </ul>25    </div>26  )27}

调用签名

TypeScript
1function infiniteQueryOptions<TQueryFnData, TError = Error, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: InfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & object): ReturnType<UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;

定义于:packages/solid-query/src/infiniteQueryOptions.ts:174

你通常可以向 infiniteQueryOptions 传入所有能传给 useInfiniteQuery 的参数。
这些选项可在 Hook 和 queryClient.infiniteQuery 等命令式 API 之间共享。
options.queryKey 是必需的,用于生成选项的查询键。

类型参数

TQueryFnData

TQueryFnData

TError

TError = Error

TData

TData = InfiniteData<TQueryFnData, unknown>

TQueryKey

TQueryKey extends readonly unknown[] = readonly unknown[]

TPageParam

TPageParam = unknown

参数

options

InfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & object

要使用的 UndefinedInitialDataInfiniteOptions —— 即所有可传给 useInfiniteQuery 的参数。

返回值

ReturnType<UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>

相同选项对象,其类型被标注为使 queryKey 携带推断出的数据类型。

参阅

使用 useInfiniteQuery 运行具有这些选项的无限查询。

示例

一个参数化的工厂函数,以便每个 postId 均可复用同一选项对象:

TypeScript
1import { For, Match, Switch } from 'solid-js'2import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/solid-query'3 4const commentsOptions = (postId: string) =>5  infiniteQueryOptions({6    queryKey: ['post', postId, 'comments'],7    queryFn: ({ pageParam }) => fetchComments(postId, pageParam),8    initialPageParam: 0,9    getNextPageParam: (lastPage) => lastPage.nextId,10  })11 12function Comments(props: { postId: string }) {13  const commentsQuery = useInfiniteQuery(() => commentsOptions(props.postId))14 15  return (16    <Switch>17      <Match when={commentsQuery.isPending}>Loading...</Match>18      <Match when={commentsQuery.isError}>Error: {commentsQuery.error.message}</Match>19      <Match when={commentsQuery.isSuccess}>20        <ul>21          <For each={commentsQuery.data.pages}>22            {(page) => <For each={page.comments}>{(c) => <li>{c.text}</li>}</For>}23          </For>24        </ul>25      </Match>26    </Switch>27  )28}

参数

options

InfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & object

要使用的 UndefinedInitialDataInfiniteOptions —— 即所有可传给 useInfiniteQuery 的参数。

options 属性

基于 InfiniteQueryOptions 构建。请参阅上方类型定义以了解其变更内容。

返回值

ReturnType<UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>

相同选项对象,其类型被标注为使 queryKey 携带推断出的数据类型。

返回值属性

基于 InfiniteQueryOptions、QueryKeyWithDataTag 构建。请参阅上方类型定义以了解其变更内容。

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

译自上游 59d11de