从vanilla JS使用JSX时是否可以调用ReactDOM.render()?

时间:2016-03-09 13:55:45

标签: javascript reactjs react-jsx jsx

目前我正在学习ReactJS。 据我所知,使用JSX编写的代码与vanilla JS没有不同的可见范围。但是,如果我想在vanilla JS上制作一些东西,然后只调用ReactDOM.render()但仍然希望将JSX与React一起使用,是否可能,如果是 - 如何?

1 个答案:

答案 0 :(得分:1)

class RootComponent extends React.Component {
   render() {
        return (
          <div >
            Hello, World.
          </div>
        )
    }
}

ReactDOM.render(
    React.createElement(RootComponent), 
    document.getElementById('root')
);

请注意,渲染调用没有JSX。这意味着您可以将其从主javascript文件中拆分,并在任何上下文中调用它,例如在&lt; script&gt;中作为内联javascript。标记:

main.js:

class RootComponent extends React.Component {
   render() {
        return (
          <div >
            Hello, World.
          </div>
        )
    }
}

的index.html:

<script>
    ReactDOM.render(
        React.createElement(RootComponent), 
        document.getElementById('root')
    );
</script>