我正在关注https://reactjs.org/docs/add-react-to-a-website.html#optional-try-react-with-jsx上的'Add React to a Website'指南,但由于某些原因它似乎无法正常工作。
代码不起作用:
index.html的:
<html>
<head>
<!-- Load React -->
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<!-- Load React component. -->
<script src="test.js"></script>
</head>
<body>
<div id="root"></div>
</body>
</html>
test.js:
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
上面的代码将生成一个空白页面但是当我在index.html页面上添加react代码时,如下所示:
<script>
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
</script>
它确实有效。
我试图替换
<script src="test.js"></script>
同
<script src="/test.js"></script>
和
<script src="./test.js"></script>
但那仍然行不通。
此外,当我检查空白页面上的元素时,它确实显示它加载test.js
有人可以告诉我我做错了什么吗?
正如the guide所说:
现在,您可以在任何
<script>
标记中使用JSX,方法是添加type="text/babel"
属性。
所以你需要<script src="test.js" type="text/babel"></script>
。
即使你可以通过使用React.creatEelement API而不添加文本/ babel来实现它,这是由redux的作者和Reactjs核心团队的一部分作者Dan Abramov推荐的。
这是工作代码框:React with no build config