javascript - 未捕获的错误:目标容器不是 DOM 元素。VSCode 实时服务器
问题描述
我正在为我的项目使用VSCode live server和react & react-dom(均为 17 版)。
我的html代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React Tutorial</title>
</head>
<body>
<link rel="stylesheet" type="text/css" href="index.css">
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous"></script>
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script>
<script type="text/babel" src="./index.js"></script>
</body>
</html>
我的 index.js:https
://codepen.io/gaearon/pen/gWWZgR?editors=0010
我尝试将 < script > 放在 < body >的底部,但它一直抛出此错误:
未捕获的错误:目标容器不是 DOM 元素。
解决方案
您需要root
在index.html
. 通过查看 index.js 的代码,
ReactDOM.render(<Game />, document.getElementById("root"));
您正在尝试将 react 应用程序安装在 id='root' 的 div 上,这在 index.html 文件中不存在,这就是为什么Uncaught Error: Target container is not a DOM element. VSCode Live Server
由于元素不存在而导致错误的原因。
添加
<div id='root'></div>
到您的 index.html 正文。
推荐阅读
- html - 带有文本占位符和图标的角度自定义文本框
- amazon-web-services - 如果将匹配项添加到表中,是否有任何机制为大量查询发送通知
- excel - 对每列应用公式
- python - 删除列表中与其他列表有重复内容的某行
- keras - Google Colab 错误 - 加载了错误的 CuDNN 库版本?
- django - Django - 迭代字典的元素并保存它们会在与数据库的连接级别产生问题?
- jquery - POST 到 ASP.NET .Net Web Api 源自浏览器的 IP 地址而不是服务器
- android - 如何在 Kotlin 中迭代变量名?
- perl - Net::XMPP Perl 模块:这可以用来检查服务器上的聊天消息吗?
- python - 在 AxesSubplot 中获取 AxesImage 实例