未捕获的ReferenceError: ReactDOM未定义

Uncaught ReferenceError: ReactDOM is not defined

本文关键字:ReactDOM 未定义 ReferenceError      更新时间:2023-09-26

所以我有Rails应用程序,我安装了react-rails gem,设置它并尝试运行测试应用程序

新安装,当我试图运行hello world程序时,发生了这个错误:

Uncaught ReferenceError: ReactDOM is not defined

这是我的反应:

var HelloWorld = React.createClass({
  render: function() {
    return (
      <p>
        Hello, <input type="text" placeholder="Your name here" />!
        It is {this.props.date.toTimeString()}
      </p>
    );
  }
});
setInterval(function() {
  ReactDOM.render(
    <HelloWorld date={new Date()} />,
    document.getElementById('example')
  );
}, 500);

保存在/app/assets/javascripts/components/test.js中。jsx文件。

Rails 4.2.4 With Ruby 2.2.3

可能是拼写问题——是ReactDOM,不是ReactDom

随着React新版本的发布,这已经发生了变化

ReactDOM可用,因为版本0.14.0,所以你需要使用React.render(因为你有一个React版本0.13.3)代替,

setInterval(function() {
  React.render(
    <HelloWorld date={new Date()} />,
    document.getElementById('example')
  );
}, 500);

或升级React版本并包含ReactDOM

React 0.14的变化

必须导入

import ReactDOM from 'react-dom';

确保您已经包含了react-dom.js。你可以从CDN添加它,或者使用你选择的js工具链。

安装React -使用CDN

<script src="https://unpkg.com/react@15/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>
Make sure it's ReactDOM (case sensitive)
          class App extends React.Component {
            render() {
                return (
                    <div>
                        <div className="commentbox">Hello React ! </div>
                    </div>
                );
            }
        }
        ReactDOM.render(<App />, document.getElementById('root'));

要使它正常工作,你必须做三件事。

  1. 导入开发所需的cdn(例如web开发的react和react-dom)
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
  • install babel-cli。这是编译JSX到vanilla js

  • 所需要的。
  • 更改代码中的错别字,

  • ReactDOM,不是RaactDOM