当前位置: 首页 > 面试题库 >

反应错误:目标容器不是DOM元素

吴西岭
2023-03-14
问题内容

我刚开始使用React,所以这可能是一个非常简单的错误,但是我们开始吧。我的html代码非常简单:

<!-- base.html -->
<html>
  <head>
    <title>Note Cards</title>
    <script src="http://fb.me/react-0.11.2.js"></script>
<!--     <script src="http://fb.me/JSXTransformer-0.11.2.js"></script> -->
    <script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
    {% load staticfiles %}
    <link rel="stylesheet" type="text/css" href="{% static "css/style.css" %}">
    <script src="{% static "build/react.js" %}"></script>
  </head>
  <body>
    <h1 id="content">Note Cards</h1>
    <div class="gotcha"></div>
  </body>
</html>

请注意,我在这里使用django的加载静态文件。我的JavaScript有点复杂,因此除非有人要求,否则我不会将其全部发布在这里,但是出现错误的行是这样的:

React.renderComponent(
  CardBox({url: "/cards/?format=json", pollInterval: 2000}),
  document.getElementById("content")
);

之后,我得到“目标容器不是DOM元素错误”,但似乎document.getElementById(“content”)几乎可以肯定是DOM元素。

我看了一下这个子,但是对我的情况似乎没有帮助。

有人知道为什么我会收到该错误吗?


问题答案:

我想到了!

阅读此博客文章后,我意识到此行的位置:

<script src="{% static "build/react.js" %}"></script>

错了。该行必须是该<body>部分的最后一行,就在</body>标记之前。将线下移即可解决问题。

我对此的解释是react在<head>标签之间而不是标签中寻找ID<body>。因此,它找不到contentID,因此它不是真正的DOM元素。



 类似资料:
  • 我在生成一个简单的React示例页面后出现此错误: 未捕获错误:不变冲突:_registerComponent(…):目标容器不是DOM元素。 这是我的代码: HTML: 这是什么意思?

  • 问题内容: 我正在尝试在使用Webpack时使用Jest / Enzyme测试React组件。 我有一个非常简单的测试@ 它要拾取的相对组件是: 但是,运行会导致失败: 有错误@ 测试文件引用第4行,该行是的导入,导致失败。堆栈跟踪显示第14行是失败的原因-仅仅是来自的render调用,这是我从未遇到过的挑战(该应用程序可从我的Webpack设置正确渲染)。 对于那些感兴趣的人(Webpack代码

  • 问题内容: 在制作平凡的React示例页面后,我收到此错误: 未捕获的错误:始终违反:_registerComponent(…):目标容器不是DOM元素。 这是我的代码: HTML: 这是什么意思? 问题答案: 在执行脚本时,element尚不可用,因为其本身位于中。虽然这是一个有效的解决方案,以保持在和渲染的情况下,它甚至不如 把你在最底层的 和 渲染根组件到之前它是这样的: 并在中致电: 您应

  • 我正在用Bootstrap 4做一个react项目。引导程序已通过CDN导入。 我想要的是在满足条件的情况下显示/隐藏一个模态。我已经导入了jquery 在组件中 但是在执行上面的行时,它会显示一个错误,如 我读到了这个错误,它说可能是因为jquery与CDN和NPM一起导入了两次。我不确定原因是什么。但我也尝试过从一个方法导入jquery,但它不起作用。有什么建议吗?

  • 我正在开发一个使用 web 包的示例 react-redux 应用程序 webpack.config.js bookList.js 索引.html(网格也将加载的主页面) 错误bundle.js: 9错误:缩小反应错误#130;访问https://reactjs.org/docs/error-decoder.html?invariant=130 我已经安装了bootstrap,我还需要在webco