嗨,我知道这种问题已经被问了很多次,但我没有得到答案。
我正在尝试编写一个React hello world示例。我只有两个文件一个是app.jsx,另一个是homepage.jsx。我正在使用webpack来打包这些文件。
但是当我运行代码时,我收到了 Uncaught ReferenceError: React is not defined
的错误提示。
我的homepage.jsx文件看起来像这样
"use strict";
var React = require('react');
var Home = React.createClass({
render : function() {
return (
<div className="jumbotron">
<h1> Hello World</h1>
</div>
);
}
});
module.exports = Home;
我的 app.js 看起来像这样
var ReactDOM = require('react-dom');
var Home = require('./components/homePage');
ReactDOM.render(
<Home/>,
document.getElementById('app')
);
在浏览器中,当我需要首页时,在第7行会抛出“未捕获的引用错误:React未定义”。
但是,当我在app.jsx中添加var React = require('react')时,它就可以正常工作。 我不明白这个问题。我已经在homepage.jsx中包含了React并在其中使用它。在app.jsx中,我只需要react-dom,因为我不使用React。 那么为什么在app.jsx中会出现错误?
请帮忙!!
require('react-dom')
不会引入 React? - Doddiereact-dom
只是一个“渲染器”,它将React元素转换为DOM节点/元素。看看React Native,它不需要react-dom
,因为它有自己的渲染器,根据平台将React元素转换为本地元素。在早期,React包含了现在存在的react-dom
中提取出来的代码。 - Andreyco