使用泛型提取函数参数的正确方法是什么?
我正在尝试提取这个函数的参数:
interface Props<T> {
data: T[];
test: (x: T) => void
}
function fn<T>(props: Props<T>): void {
return;
};
并将它们传递给一个新的函数fn2
,这样我就相当于fn
了,使用下面的方法是行不通的
type GetProps<T extends any> = T extends (props: infer U) => void ? U: never
type FnProps = GetProps<typeof fn>
function fn2<T>(props: FnProps<T>): void { // Type 'FnProps' is not generic
return;
}
这里GetProps
的正确写法是什么?
Playground
1条答案
按热度按时间2ledvvac1#
如果我没理解错你的问题,你可以把你的工具类型写成
然后