infiniteQueryOptions
概述
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>;ReturnType<DefinedInitialDataInfiniteOptions>→ReturnType<DefinedInitialDataInfiniteOptions> & QueryKeyWithDataTag:你通常可以向infiniteQueryOptions传入所有能传给useInfiniteQuery的参数。这些选项可在 Hook 和queryClient.infiniteQuery等命令式 API 之间共享。options.queryKey是必需的,用于生成选项的查询键。ReturnType<UndefinedInitialDataInfiniteOptions>→ReturnType<UndefinedInitialDataInfiniteOptions> & QueryKeyWithDataTag:你通常可以向infiniteQueryOptions传入所有能传给useInfiniteQuery的参数。这些选项可在 Hook 和queryClient.infiniteQuery等命令式 API 之间共享。options.queryKey是必需的,用于生成选项的查询键。
调用签名
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 运行具有这些选项的无限查询。
示例
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}调用签名
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 均可复用同一选项对象:
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 构建。请参阅上方类型定义以了解其变更内容。