繁体   English   中英

ReactDOM.render 找不到我的 div 元素

[英]ReactDOM.render cannot find my div element

我收到了经典错误:

路由期间捕获的错误:错误:目标容器不是 DOM 元素。

在这行代码上:

ReactDOM.render(<GamerTag game={this.model} />, document.getElementById("gameDescription"));

我在 Backbone 视图中渲染那个 React dom。

gameDescription是我的视图模板中一个 div 的 ID,React 组件在该模板中被渲染。

就像大家说的,把你的主js文件放在你的主索引文件的底部。

我做到了,我把<script src="~/dist/app.js"></script>放在结束</body>标记之前。

但我仍然得到错误。

我知道 div 存在,因为当我在浏览器中查看源代码时,我看到了它。

另外,如果我在 ReactDOM.render 中使用document.body.appendChild(document.createElement("div")) ,它工作得很好......除了它在我的页面底部我没有希望它成为。

所以除了我自己之外,我很可怕,我还能尝试什么其他选择或事情? 我没有线索了。

谢谢!

当 react 尝试渲染您的组件时,您的元素不存在。
我猜这是因为在 react 尝试渲染组件时没有渲染您的主干视图。

一个简单的检查方法是放置一个debugger; 在你的ReactDOM.render()调用之前在你的代码中声明,在停止时,打开你的 DevTools,查看 DOM 并搜索你的元素。
或者只是打开控制台并运行document.getElementById('gameDescription')看看它是否真的存在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM