Reactjs 如何直接使用ReactDOM呈现React组件(ES6API)?

Reactjs 如何直接使用ReactDOM呈现React组件(ES6API)?,reactjs,typescript,ecmascript-6,react-dom,Reactjs,Typescript,Ecmascript 6,React Dom,我正在使用(通过使用TypeScript),并希望使用ReactDOM.render()呈现类型为React.Component的子类型类 以下代码起作用: class MyComponentProps { someMember: string; } class MyComponent extends React.Component<MyComponentProps, {}> { constructor(initialProps: MyComponentProps)

我正在使用(通过使用TypeScript),并希望使用
ReactDOM.render()
呈现类型为
React.Component
的子类型类

以下代码起作用:

class MyComponentProps {
    someMember: string;
}

class MyComponent extends React.Component<MyComponentProps, {}> {
    constructor(initialProps: MyComponentProps) {
        super(initialProps);
    }
}

let rootNode = document.getElementById('root');
ReactDOM.render(
    <MyComponent someMember="abcdef" />,
    rootNode
)

我知道我可以使用JSX语法作为解决方法,但是由于我的
MyCustomProps
对象非常大,我不想重复
MyCustomProps
对象的每个成员。

您应该使用
React.createElement
React.createElement
接受标记名或组件、属性对象和可变数量的可选子参数。 例如

另一种方式(不使用jsx)

实例-

类应用程序扩展了React.Component{
render(){
返回(
欢迎反应
);
}
}
render(React.createElement(App,null),document.getElementById('App')


您不应该使用
React.createElement(MyComponent,new MyComponentProps())
而不是
new MyComponent(new MyComponentProps())
?确实,这会起作用的-我还可以通过查看编译的.jsx代码来判断,该代码将jsx语法精确地映射到该语法。如果你发表评论作为回答,我会将其标记为已接受。你回答中的最后一行代码就是我要找的,谢谢!未来的谷歌用户:如果你得到
TypeError:react.js:5045,这是未定义的
ReactDOM.render(react.createElement(),root)
而不是
ReactDOM.render(,root)
?在
ReactDOM.render()
ReactDOM.render(new MyComponent(new MyComponentProps()), rootNode);
class App extends React.Component {
  render(){
    return (

      <div><h1>Welcome to React</h1></div>
    );
  }
}
ReactDOM.render(<App />, document.getElementById('app'));
ReactDOM.render(React.createElement(App, null), document.getElementById('app'));