React js没有渲染你好世界

时间:2017-12-03 02:57:51

标签: javascript reactjs react-dom

<!DOCTYPE html>
<html lang = "en">
    <head>
        <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
        <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    </head>
    <body>
        <div class="root"></div>
        <script type="text/babel">
            ReactDOM.render(
                    <h1>Hello,World!</h1>,
                    document.getElementById('root')
            );
        </script>
    </body>
</html>

以上代码只生成一个查看控制台的空白页面,我没有看到任何错误。

3 个答案:

答案 0 :(得分:1)

您的元素有class名为 root 。您需要一个名为 root id元素:

<div id="root"></div>

<强> DEMO

编辑:你还需要添加babel-standalone模块(参见this previous SO answer)。

答案 1 :(得分:0)

你说document.getElementById('root')但你的元素是一个类。您的元素的id应为root:<div id="root"></div>

答案 2 :(得分:0)

     <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.24.0/babel.js"></script>
    <script type="text/babel">
      const element=<h1>Hello,World</h1>;
        ReactDOM.render(
                element,
                document.getElementById('root')
        );
    </script>

运行上面的代码,代码的主要问题是你使用了babel并且没有添加js依赖。另外,你在js中通过id获取元素,但是在html中定义了类名。