wake-up-neo.com

ReactDom ist nicht definiert

Ich verwende React mit Webpack und Babel. Ich bekomme einen Laufzeitfehler:

Nicht abgerufener ReferenceError: ReactDom ist nicht definiert

Meine Reaktionsversion ist:

"devDependencies": {
   "phantomjs-polyfill": "0.0.2",
   "react-addons-test-utils": "^0.14.8"
 },    
 "dependencies": {
   "react": "^0.14.7",
   "react-dom": "^0.14.7"
 },

und mein Code lautet:

import React from 'react';
import ReactDOM from 'react-dom';
import Main from './components/main';

ReactDom.render(<Main />, document.getElementById('root'));

Was mache ich falsch?

8
Yaniv Efraim

Sie haben ReactDOM, aber Sie haben keine ReactDom (Groß- und Kleinschreibung beachten)

ReactDOM.render(<Main />, document.getElementById('root'));
28
Alexander T.

ReactDOM! = ReactDom. Es gibt zwei Dinge, die Sie tun können, um das Problem zu beheben.

import React from 'react';
import ReactDOM from 'react-dom'; // you used 'react-dom' as 'ReactDOM'
import Main from './components/main';

ReactDom.render(<Main />, document.getElementById('root')); // you referred to it as 'ReactDom' which is wrong.

Werden Sie ReactDOM! = ReactDom. Sie müssen also einen dieser Orte korrigieren, so dass beide Orte denselben Namen mit demselben Fall haben.

Der empfohlene Fix wäre:

import React from 'react';
import ReactDOM from 'react-dom'; // this is recommended 
import Main from './components/main';

ReactDOM.render(<Main />, document.getElementById('root'));

Oder du kannst tun,

import React from 'react';
import ReactDom from 'react-dom';
import Main from './components/main';

ReactDom.render(<Main />, document.getElementById('root'));
0
prime