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
ReactDOM
はバージョン0.14.0以降で利用可能です。したがって、React.render
を使用する必要があります(React version0.13.3)代わりに、
setInterval(function() {
React.render(
<HelloWorld date={new Date()} />,
document.getElementById('example')
);
}, 500);
またはReact
バージョンをアップグレードし、ReactDOM
を含めます
スペルの問題である可能性があります-ReactDOM
ではなく、ReactDom
です。
これは、反応の新しいリリースで時間とともに変化しました
インポートする必要があります
import ReactDOM from 'react-dom';
react-dom.js
が含まれていることを確認してください。 CDNから追加するか、選択したjsツールチェーンを使用できます。
<script src="https://unpkg.com/react@15/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>