web-dev-qa-db-fra.com

Uncaught ReferenceError: ReactDOM n'est pas défini

J'ai donc Rails, j'ai installé le gem rea-Rails, je l'ai configuré et j'ai essayé de lancer une application test.

Fraîchement installé, lorsque j'ai essayé d'exécuter le programme Hello World, cette erreur s'est produite:

Uncaught ReferenceError: ReactDOM n'est pas défini

C'est ma réaction:

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);

Il est enregistré dans le fichier /app/assets/javascripts/components/test.js.jsx.

Rails 4.2.4 Avec Ruby 2.2.3

41
IvRRimUm

ReactDOM disponible depuis la version 0.14.0 , vous devez donc utiliser React.render (parce que vous avez à la place une version React 0.13.3 ),

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

ou mettez à niveau votre version React et incluez ReactDOM

Changements dans React 0.14

27
Alexander T.

C'est peut-être le problème d'orthographe - c'est ReactDOM, pas ReactDom.

Cela a changé avec le temps avec la nouvelle version de rea

67
Adam

Vous devez l'importer

import ReactDOM from 'react-dom';
9
Kay

Assurez-vous d'avoir inclus react-dom.js. Vous pouvez l'ajouter à partir de CDN ou utiliser la chaîne d'outils js de votre choix.

Installation React - en utilisant un 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ä