infiniteQueryOptions
概述
1function infiniteQueryOptions<TQueryFnData, TError = Error, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): 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: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;DefinedInitialDataInfiniteOptions→DefinedInitialDataInfiniteOptions & QueryKeyWithDataTag:你通常可以向infiniteQueryOptions传入所有能传给useInfiniteQuery的参数。这些选项可在各类 Hook 和命令式 API(例如queryClient.infiniteQuery)之间共享。options.queryKey是必需的,它指定了用于生成选项的查询键。UndefinedInitialDataInfiniteOptions→UndefinedInitialDataInfiniteOptions & QueryKeyWithDataTag:你通常可以向infiniteQueryOptions传入所有能传给useInfiniteQuery的参数。这些选项可在各类 Hook 和命令式 API(例如queryClient.infiniteQuery)之间共享。options.queryKey是必需的,它指定了用于生成选项的查询键。
调用签名
1function infiniteQueryOptions<TQueryFnData, TError = Error, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;定义于:packages/vue-query/src/infiniteQueryOptions.ts:108
你通常可以向 infiniteQueryOptions 传入所有能传给 useInfiniteQuery 的参数。
这些选项可在各类 Hook 和命令式 API(例如 queryClient.infiniteQuery)之间共享。options.queryKey 是必需的,它指定了用于生成选项的查询键。
当 initialData 已知为已定义时,将选用此重载,因此生成的 data 永远不会是 undefined(除非某个 select 修改 TData,使其包含 undefined)。
类型参数
TQueryFnData
TQueryFnData
TError
TError = Error
TData
TData = InfiniteData<TQueryFnData, unknown>
TQueryKey
TQueryKey extends readonly unknown[] = readonly unknown[]
TPageParam
TPageParam = unknown
参数
options
DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>
要使用的 DefinedInitialDataInfiniteOptions —— 即所有可传给 useInfiniteQuery 的参数,且 initialData 已知为已定义。
返回值
DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>
相同选项对象,其类型被约束为使 queryKey 携带推断出的数据类型。
参见
使用 useInfiniteQuery 运行带有这些选项的无限查询。
示例
1<script setup lang="ts">2import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/vue-query'34const projectsOptions = infiniteQueryOptions({5 queryKey: ['projects'],6 queryFn: ({ pageParam }) => fetchProjects(pageParam),7 initialPageParam: 0,8 getNextPageParam: (lastPage) => lastPage.nextId,9 initialData: { pages: [], pageParams: [] },10})1112// `data` is never `undefined`, thanks to `initialData` — even if a refetch fails, so the13// list stays visible alongside the error.14const { data, isError, error } = useInfiniteQuery(projectsOptions)15</script>调用签名
1function infiniteQueryOptions<TQueryFnData, TError = Error, TData = InfiniteData<TQueryFnData, unknown>, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>;定义于:packages/vue-query/src/infiniteQueryOptions.ts:155
你通常可以向 infiniteQueryOptions 传入所有能传给 useInfiniteQuery 的参数。
这些选项可在各类 Hook 和命令式 API(例如 queryClient.infiniteQuery)之间共享。options.queryKey 是必需的,它指定了用于生成选项的查询键。
类型参数
TQueryFnData
TQueryFnData
TError
TError = Error
TData
TData = InfiniteData<TQueryFnData, unknown>
TQueryKey
TQueryKey extends readonly unknown[] = readonly unknown[]
TPageParam
TPageParam = unknown
参数
options
UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>
要使用的 UndefinedInitialDataInfiniteOptions —— 即所有可传给 useInfiniteQuery 的参数。
返回值
UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>
相同选项对象,其类型被约束为使 queryKey 携带推断出的数据类型。
参见
使用 useInfiniteQuery 运行带有这些选项的无限查询。
示例
1<script setup lang="ts">2import { infiniteQueryOptions, useInfiniteQuery } from '@tanstack/vue-query'34const projectsOptions = infiniteQueryOptions({5 queryKey: ['projects'],6 queryFn: ({ pageParam }) => fetchProjects(pageParam),7 initialPageParam: 0,8 getNextPageParam: (lastPage) => lastPage.nextId,9})1011const { data, isError, error, fetchNextPage } = useInfiniteQuery(projectsOptions)12</script>参数
options
UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>
要使用的 UndefinedInitialDataInfiniteOptions —— 即所有可传给 useInfiniteQuery 的参数。
返回值
UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData>, TError>
相同选项对象,其类型被约束为使 queryKey 携带推断出的数据类型。