SuspenseQueriesOptions
TypeScript
1type SuspenseQueriesOptions<T extends any[], TResults extends any[] = [], TDepth extends ReadonlyArray<number> = []> = TDepth["length"] extends MAXIMUM_DEPTH ? UseSuspenseQueryOptions[] : T extends [] ? [] : T extends [infer Head] ? [...TResults, GetUseSuspenseQueryOptions<Head>] : T extends [infer Head, ...(infer Tails)] ? SuspenseQueriesOptions<[...Tails], [...TResults, GetUseSuspenseQueryOptions<Head>], [...TDepth, 1]> : unknown[] extends T ? T : T extends UseSuspenseQueryOptions<infer TQueryFnData, infer TError, infer TData, infer TQueryKey>[] ? UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[] : UseSuspenseQueryOptions[];定义于:packages/react-query/src/useSuspenseQueries.ts:122
该类型表示 useSuspenseQueries 所接受的 queries 数组。它会递归地解包每个元组元素,从而为每个条目的 queryFn/select 单独推断类型,最多支持 20 个元素;超出此限制时,元组将回退为统一的 UseSuspenseQueryOptions 类型。
不透明数组(例如 unknown[])将原样返回;若非元组数组的元素类型在结构上匹配查询选项对象,则按元素逐个映射,仍对每个条目单独推断类型;其他任何非元组数组(即其元素类型不匹配预期选项形状的数组)也会回退为上述统一的选项类型。
类型参数
T
T extends any[]
调用位置处所写的 queries 数组的类型。
TResults
TResults extends any[] = []
该类型在递归过程中构建的内部累加器,不应显式指定。
TDepth
TDepth extends ReadonlyArray<number> = []
内部递归深度计数器,用于与 20 元素限制进行比对,不应显式指定。