栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

不变违规:_registerComponent(…):目标容器不是DOM元素

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

不变违规:_registerComponent(…):目标容器不是DOM元素

在执行脚本时,

document
element尚不可用,因为
script
其本身位于中
head
。虽然这是一个有效的解决方案,以保持
script
head
和渲染的
DOMContentLoaded
情况下,它甚至不如
把你
script
在最底层的
body
渲染根组件到
div
之前它是这样的:

<html><head></head><body>  <div id="root"></div>  <script src="/bundle.js"></script></body></html>

并在中

bundle.js
致电:

React.render(<App />, document.getElementById('root'));

您应始终渲染为

div
而不是嵌套
body
否则,
body
当React不期望时,各种第三方代码(Google字体加载器,浏览器插件等)都可以修改DOM节点,并导致难以跟踪和调试的奇怪错误。阅读有关此问题的更多信息。

放在

script
底部的好处是,如果您将React Server渲染添加到项目中,则在脚本加载之前它不会阻止渲染。


更新:(2015年10月7日|

v0.14)

React.render
已弃用,请
ReactDOM.render
改用。

例:

import ReactDOM from 'react-dom';ReactDOM.render(<App />, document.getElementById('root'));


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415614.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号