queryOptions
概述
1function queryOptions<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryKey extends readonly unknown[] = readonly unknown[]>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>;2function queryOptions<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryKey extends readonly unknown[] = readonly unknown[]>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>;DefinedInitialDataOptions→DefinedInitialDataOptions & QueryKeyWithDataTag:你通常可以向queryOptions传入任何能传给createQuery的参数。这些选项可在多次createQuery调用及queryClient.query等命令式 API 之间共享。options.queryKey是必需参数,用于指定生成选项所对应的查询键。UndefinedInitialDataOptions→UndefinedInitialDataOptions & QueryKeyWithDataTag:你通常可以向queryOptions传入任何能传给createQuery的参数。这些选项可在多次createQuery调用及queryClient.query等命令式 API 之间共享。options.queryKey是必需参数,用于指定生成选项所对应的查询键。
调用签名
1function queryOptions<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryKey extends readonly unknown[] = readonly unknown[]>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>;定义于:packages/svelte-query/src/queryOptions.ts:79
你通常可以向 queryOptions 传入任何能传给 createQuery 的参数。这些选项
可在多次 createQuery 调用及 queryClient.query 等命令式 API 之间共享。options.queryKey
是必需参数,用于指定生成选项所对应的查询键。
当 initialData 已知被定义时,将选用此重载,因此生成的 data 永远不会是undefined(除非某个 select 将 TData 更改为包含 undefined)。
类型参数
TQueryFnData
TQueryFnData = unknown
TError
TError = Error
TData
TData = TQueryFnData
TQueryKey
TQueryKey extends readonly unknown[] = readonly unknown[]
参数
options
DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
要使用的 DefinedInitialDataOptions —— 即所有可传给 createQuery 的参数,且 initialData 已知被定义。
返回值
DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>
相同选项对象,其类型已标注,使 queryKey 携带推断出的数据类型。
参阅
使用 createQuery 运行带有这些选项的查询。
示例
1<script lang="ts">2 import { queryOptions, createQuery } from '@tanstack/svelte-query'3 4 const postsOptions = queryOptions({5 queryKey: ['posts'],6 queryFn: fetchPosts,7 initialData: [],8 })9 10 // `data` is `Post[]`, never `undefined`, thanks to `initialData` — even if a refetch fails,11 // so the list stays visible alongside the error.12 const query = createQuery(() => postsOptions)13</script>14 15{#if query.isError}16 <span>Error: {query.error.message}</span>17{/if}18<ul>19 {#each query.data as post (post.id)}20 <li>{post.title}</li>21 {/each}22</ul>调用签名
1function queryOptions<TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryKey extends readonly unknown[] = readonly unknown[]>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>;定义于:packages/svelte-query/src/queryOptions.ts:122
你通常可以向 queryOptions 传入任何能传给 createQuery 的参数。这些选项
可在多次 createQuery 调用及 queryClient.query 等命令式 API 之间共享。options.queryKey
是必需参数,用于指定生成选项所对应的查询键。
类型参数
TQueryFnData
TQueryFnData = unknown
TError
TError = Error
TData
TData = TQueryFnData
TQueryKey
TQueryKey extends readonly unknown[] = readonly unknown[]
参数
options
UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
要使用的 UndefinedInitialDataOptions —— 即所有可传给 createQuery 的参数。
返回值
UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>
相同选项对象,其类型已标注,使 queryKey 携带推断出的数据类型。
参阅
使用 createQuery 运行带有这些选项的查询。
示例
一个参数化工厂,使同一选项对象可按 id 复用:
1<script lang="ts">2 import { queryOptions, createQuery } from '@tanstack/svelte-query'3 4 let { id }: { id: string } = $props()5 6 const postOptions = (id: string) =>7 queryOptions({8 queryKey: ['post', id],9 queryFn: () => fetchPost(id),10 })11 12 const query = createQuery(() => postOptions(id))13</script>14 15{#if query.isPending}16 Loading...17{:else if query.isError}18 <span>Error: {query.error.message}</span>19{:else}20 <h1>{query.data.title}</h1>21{/if}参数
options
UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>
要使用的 UndefinedInitialDataOptions —— 即所有可传给 createQuery 的参数。
options 属性
基于 QueryObserverOptions 构建。详见上方类型定义中该属性的作用。
返回值
UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey> & QueryKeyWithDataTag<TQueryKey, TQueryFnData, TError>
相同选项对象,其类型已标注,使 queryKey 携带推断出的数据类型。
返回值属性
基于 QueryObserverOptions、QueryKeyWithDataTag 构建。详见上方类型定义中这些属性的作用。