嗨,我知道这类问题已经问了很多遍了,但我没有找到答案。
我正在尝试编写一个React Hello世界示例。我只有两个文件,一个是app.jsx,另一个是homepage.jsx。我正在使用webpack捆绑文件。
但是当我运行代码时,我得到了 Uncaught ReferenceError: React is not defined
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') );
在浏览器中,它抛出Uncaught ReferenceError: React is not defined第7行,即我需要主页的位置。
但是当我在app.jsx中添加var React = require(’react’)时,它可以正常工作。
我不明白 我在我正在使用它的homepage.jsx中包含了react。在app.jsx中,我只需要react- dom,因为我不使用React。那么为什么它会在app.jsx中给出错误。
请帮助!!
更改app.js为此
app.js
var React = require('react'); var ReactDOM = require('react-dom'); var Home = require('./components/homePage'); ReactDOM.render( <Home/>, document.getElementById('app') );
JSX被转换为React.createElement()调用,因此React是必需的。是的,您正在使用React中app.js。每当您使用JSX或直接React.*调用时,都习惯于将其导入。
React.createElement()
React
React.*