interface Props{
element: new() => React.Component<{}, {}>;
}
class C extends React.PureComponent<Props, {}> {
constructor(props: Props<T>) {
super(props);
this.handleClick = this.handleClick.bind(this);
}
public render(): JSX.Element {
return <this.props.element>
{this.props.children}
</this.props.element>;
}
}
function foo(): JSX.Element {
return <C element={new tr/* What goes here?? */}/>;
}
我希望foo
呈现 tr dom元素,但我无法引用tr构造函数。
答案 0 :(得分:1)
记住TypeScript是javascript的超集。所以你会以同样的方式创建tr元素。
return <C element={<HTMLTableRowElement>(document.createElement('tr'))}/>;