我遇到了React的问题。
Babel翻译了这个:
React.render(
<h1>Hello, world!</h1>,
document.getElementById('example')
);
到
React.render(React.createElement(
'h1',
null,
'Hello, world!'
), document.getElementById('example'));
这仍然可以正常工作并显示&#34; Hello World&#34;:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello React!</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/JSXTransformer.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/jsx">
React.render(React.createElement(
'h1',
null,
'Hello, world!'
), document.getElementById('example'));
</script>
</body>
</html>
但是,如果删除JSXTransformer脚本标记,则该页面不起作用。页面保持空白,控制台不记录任何内容。
Safari和Chrome都会出现问题。
答案 0 :(得分:2)
浏览器不会使用text/javascript
以外的类型来解释脚本标记。与JSXTransformer一起使用时,脚本标记的类型已从text/jsx
更改为text/javascript
。您只需将type="text/jsx"
更改为type="text/javascript"
。