<!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>
上面的代码只生成一个查看控制台的空白页面,我没有看到任何错误。
你的元素有一个叫做root的class
。你需要一个名为root的id
元素:
<div id="root"></div>
编辑:您还需要添加babel-standalone模块(请参阅this previous SO answer)。
你说document.getElementById('root')
,但你的元素是一个类。您的元素的id应为root:<div id="root"></div>
。
<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中定义。