【发布时间】:2023-04-02 21:00:02
【问题描述】:
假设我有一个像 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>
任何等效的东西都会很棒。
【问题讨论】:
-
你为什么要这样做?你会用这种类型做什么?你不能在不知道类型的情况下分配任何东西,即:
const y : GetPropsType<typeof x> = ??? -
不是 100% 肯定,但我想说在运行时这样做的唯一方法是首先获取该类型的实际对象,然后对其运行 typeof。在这种情况下,获取你的 react 组件的 props。
-
嘿,您找到了完美的解决方案吗?我需要在 Vue.js 中做同样的事情
标签: typescript