小编典典

未捕获的ReferenceError:未定义React

reactjs

嗨,我知道这类问题已经问了很多遍了,但我没有找到答案。

我正在尝试编写一个React Hello世界示例。我只有两个文件,一个是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')
);

在浏览器中,它抛出Uncaught ReferenceError: React is not defined第7行,即我需要主页的位置。

但是当我在app.jsx中添加var React = require(’react’)时,它可以正常工作。

我不明白 我在我正在使用它的homepage.jsx中包含了react。在app.jsx中,我只需要react-
dom,因为我不使用React。那么为什么它会在app.jsx中给出错误。

请帮助!!


阅读 384

收藏
2020-07-22

共1个答案

小编典典

更改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是必需的。是的,您正在使用Reactapp.js。每当您使用JSX或直接React.*调用时,都习惯于将其导入。

2020-07-22