ReactDom is undefined

36,563

Solution 1

You have ReactDOM but you don't have ReactDom(case sensitive)

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

Solution 2

ReactDOM != ReactDom. There are two things you can do to fix this.

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.

Becasue ReactDOM != ReactDom. So you need to fix one of those places so that both places have the same name with the same case.

The recommended fix would be,

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

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

Or you can do,

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

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

Solution 3

There is a minor error in your code you have written ReactDom instead of ReactDOM. The correct code should be given below :

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

ReactDOM.render(<Main />, document.getElementById('root'));
Share:
36,563
Yaniv Efraim
Author by

Yaniv Efraim

Javascript Fullstack Engineer @ Wix.com. Mastering web and mobile development using bleeding edge technologies. Experienced in Javascript, AngularJS, ReactJS, Node.js, TDD, HTML5 development, CSS3 (OOCSS, SMACS, SASS, Compass), Responsive design, Javascript design patterns and much more... SOreadytohelp

Updated on November 17, 2021

Comments

  • Yaniv Efraim
    Yaniv Efraim over 2 years

    I am using React with Webpack and Babel. I am getting a runtime error:

    Uncaught ReferenceError: ReactDom is not defined

    My react version is:

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

    and my code is:

    import React from 'react';
    import ReactDOM from 'react-dom';
    import Main from './components/main';
    
    ReactDom.render(<Main />, document.getElementById('root'));
    

    What am I doing wrong?

  • Pradap Pandian
    Pradap Pandian almost 3 years
    you're a Legend :)