在执行脚本时,document
element尚不可用,因为script
其本身位于中head
。虽然这是一个有效的解决方案,以保持script
在head
和渲染的DOMContentLoaded
情况下,它甚至不如
<html>
<head>
</head>
<body>
<div id="root"></div>
<script src="/bundle.js"></script>
</body>
</html>
并在中bundle.js
致电:
React.render(<App />, document.getElementById('root'));
否则,body
当React不期望时,各种第三方代码(Google字体加载器,浏览器插件等)都可以修改DOM节点,并导致难以跟踪和调试的奇怪错误。阅读有关此问题的更多信息。