DefinedInitialDataOptions
TypeScript
1type DefinedInitialDataOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, "queryFn"> & object;定义位置:packages/react-query/src/queryOptions.ts:80
当 initialData 已知为非空值时,所选用的 queryOptions 重载所接受的选项 —data 永远不会是 undefined(除非某个 select 将 TData 更改为包含 undefined)。
类型参数
TQueryFnData
TQueryFnData = unknown
你的 queryFn 所解析出的类型。
TError
TError = DefaultError
你的 queryFn 可能抛出的错误类型。
TData
TData = TQueryFnData
data 在 select 执行完毕后最终呈现的类型。
TQueryKey
TQueryKey extends QueryKey = QueryKey
你的 queryKey 的类型。
类型声明
initialData
TypeScript
1initialData: 2 | NonUndefinedGuard<TQueryFnData>3 | (() => NonUndefinedGuard<TQueryFnData>);若设置该值,则它将被用作查询缓存的初始数据(前提是该查询尚未创建或缓存)。若设为函数,则该函数将在共享/根查询初始化期间仅调用一次,且需同步返回初始数据。默认情况下,初始数据被视为过期,除非已设置 staleTime。initialData 会被持久化保存至缓存中。
queryFn?
TypeScript
1optional queryFn?: QueryFunction<TQueryFnData, TQueryKey>;此处为可选字段;但省略它仅在确定不会执行任何拉取操作时才安全 — 例如配合 enabled: false 使用,或已定义了默认查询函数。否则,一个启用状态(enabled)但未提供 queryFn 的查询仍会尝试拉取,并因“Missing queryFn”错误而失败;initialData 并不能阻止该行为。