So i have Rails applications, i installed react-rails gem, set it up and try to run test application.
Freshly installed, when i tryed to run hello world program, this error hapened:
Uncaught ReferenceError: ReactDOM is not defined
This is my react:
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);
Its saved inside /app/assets/javascripts/components/test.js.jsx file.
Rails 4.2.4 With Ruby 2.2.3
ReactDOM is a package that provides DOM specific methods that can be used at the top level of a web app to enable an efficient way of managing DOM elements of the web page. ReactDOM provides the developers with an API containing the following methods and a few more. render() findDOMNode()
import ReactDOM from 'react-dom'; or if you're using ES5 you can just do: var ReactDOM = require('react-dom'); and then you can use ReactDOM.
js error "X is not defined react/jsx-no-undef" occurs when we forget to import a function, class or a variable in our code before using it. To solve the error, make sure to import the value before using it in your code, e.g. import {myFunc} from 'my-package' . Copied!
It may be the spelling issue - it is ReactDOM
, not ReactDom
.
This has changed over time with the new release of React
ReactDOM
available since version 0.14.0, so you need to use React.render
(because you have a React version 0.13.3) instead,
setInterval(function() { React.render( <HelloWorld date={new Date()} />, document.getElementById('example') ); }, 500);
or upgrade your React
version and include ReactDOM
Changes in React 0.14
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With