reactcriptcript将dom构造函数作为参数

时间:2018-01-05 19:23:08

标签: javascript reactjs typescript composition

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构造函数。

1 个答案:

答案 0 :(得分:1)

记住TypeScript是javascript的超集。所以你会以同样的方式创建tr元素。

return <C element={<HTMLTableRowElement>(document.createElement('tr'))}/>;