gpt4 book ai didi

javascript - Webpack、React 和 Babel,不渲染 DOM

转载 作者:行者123 更新时间:2023-11-29 10:37:37 28 4
gpt4 key购买 nike

我终于在几个小时后完成了我的 WebpackReactBabel build设置,但是当我尝试运行一个简单的渲染时 Hello World 它不会在 DOM 中输出任何内容。

这是我的代码。

var React = require('react');
var ReactDOM = require('react-dom');

ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('content')
);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<script src="bundle.js"></script>
</head>
<body>
<div id="content"></div>
</body>
</html>

当我查看我的 bundle.js 时,我可以看到它导入了运行渲染所需的所有 React 和 ReactDOM。

我正在运行的测试来自:https://facebook.github.io/react/docs/getting-started.html .

获取此控制台错误:未捕获错误:不变违规:_registerComponent(...):目标容器不是 DOM 元素。

最佳答案

你的 bundle.js在 DOM 有时间加载之前加载文件。这意味着它将无法找到您的 <div id="content">当您要求时。

尝试将脚本加载器放在正文末尾之前。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
</head>
<body>
<div id="content"></div>
<script src="bundle.js"></script>
</body>
</html>

当浏览器找到 <script>标记,他们在下载文件时暂停执行。这意味着当您的 bundle.js 时,您的 DOM 仅部分呈现。脚本开始执行。所以你基本上会通过 undefinedReactDOM.render方法。

如果您过去没有遇到过这个问题,也许您一直在使用 jQuery.ready事件处理程序,在执行之前等待 DOM 加载。

关于javascript - Webpack、React 和 Babel,不渲染 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34268580/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com