我刚刚开始使用 React,所以这可能是一个非常简单的错误,但我们开始吧。我的html代码非常简单:
<!-- base.html -->
<html>
<head>
<title>Note Cards</title>
<script src="http://<url>/react-0.11.2.js"></script>
<!-- <script src="http://<url>/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 元素。
我在看this https://stackoverflow.com/questions/23941213/react-backbone-target-container-is-not-a-dom-elementstackoverflow 帖子,但它似乎对我的情况没有帮助。
任何人都知道为什么我会收到该错误?
我想到了!
看完之后这篇博文 http://archive.is/g20il#selection-399.104-399.186我意识到这一行的位置:
<script src="{% static "build/react.js" %}"></script>
错了。该行必须是最后一行<body>
部分,就在</body>
标签。将线路向下移动即可解决问题。
我对此的解释是,react 正在寻找 id 之间的<head>
标签,而不是在<body>
标签。正因为如此,它无法找到content
id,因此它不是真正的 DOM 元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)