假设我有一个类似 React.ComponentClass<Props>
的类型我想引用 Props
部分,但在我当前的上下文中未命名。
举例说明:
const x = makeComponent(); // typeof x = React.ComponentClass<Something>
在这种情况下,我可以使用 typeof x
但这并不能直接给我
访问 Something
类型。
我想要的是这样的:
type GetPropsType<C extends React.ComponentClass<P>> = P
这样我就可以提取Something
类型为 GetPropsType<typeof x>
任何等效的东西都会很棒。
最佳答案
您可以使用推断:
type TypeWithGeneric<T> = T[]
type extractGeneric<Type> = Type extends TypeWithGeneric<infer X> ? X : never
type extracted = extractGeneric<TypeWithGeneric<number>>
// extracted === number
关于TypeScript:如何从类型中提取泛型参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44851268/