如果我有
const selector = (state: {}, count = 1) => {};
type parms = Parameters<typeof selector>;
那么parms
将是:
[{}, number?]
我注意到,如果我应用索引,则可以提取单个参数:
type parms = Parameters<typeof selector>[1]; // type parms = number
是否有人表示我想省略返回的第一个参数?与.slice(1)
相似吗?
答案 0 :(得分:0)
任意切片索引不存在此功能,但是对于“从元组中删除第一个元素”的特定情况,您可以使用类似的东西:
type Tail<T extends any[]> =
((...x: T) => void) extends ((h: infer A, ...t: infer R) => void) ? R : never;
type Test = Tail<[1,2,3,4,5]>; // [2,3,4,5]
type Parms = Tail<Parameters<typeof selector>>; // [number?]
希望有所帮助;祝你好运!