web-dev-qa-db-ja.com

キャッチされないReferenceError:ReactDOMが定義されていません

Railsアプリケーションがあるので、react-Rails gemをインストールしてセットアップし、テストアプリケーションを実行してみます。

新しくインストールした後、hello worldプログラムを実行しようとすると、このエラーが発生しました。

キャッチされないReferenceError:ReactDOMが定義されていません

これは私の反応です:

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

41
IvRRimUm

ReactDOMはバージョン0.14.0以降で利用可能です。したがって、React.renderを使用する必要があります(React version0.13.3)代わりに、

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

またはReactバージョンをアップグレードし、ReactDOMを含めます

React 0.14の変更

27
Alexander T.

スペルの問題である可能性があります-ReactDOMではなく、ReactDomです。

これは、反応の新しいリリースで時間とともに変化しました

67
Adam

インポートする必要があります

import ReactDOM from 'react-dom';
9
Kay

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>
7
Seppo Erviälä