【发布时间】:2021-06-19 13:28:33
【问题描述】:
我的意图是从给定的 JSX 元素中提取道具,这可能吗?
这几乎是我失败的尝试...... 在此先感谢您的帮助;)
function getComponentProps<T extends React.ReactElement>(element: T): ExtractProps<T>;
function Component({ name }: { name: string }) {
return <h1>{name}</h1>;
}
type ExtractProps<TComponentOrTProps> = TComponentOrTProps extends React.ComponentType<infer TProps>
? TProps
: TComponentOrTProps;
const componentProps = getComponentProps(<Component name="jon" />); //type is JSX.Element
【问题讨论】:
标签: reactjs typescript jsx typescript-typings typescript-generics