Javascript ReactDom 未定义

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/36576960/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 19:14:53  来源:igfitidea点击:

ReactDom is undefined

javascriptreactjswebpackbabeljsreact-dom

提问by Yaniv Efraim

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

我正在将 React 与 Webpack 和 Babel 一起使用。我收到运行时错误:

Uncaught ReferenceError: ReactDom is not defined

未捕获的 ReferenceError:ReactDom 未定义

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?

我究竟做错了什么?

回答by Alexander T.

You have ReactDOMbut you don't have ReactDom(case sensitive)

你有ReactDOM但你没有ReactDom(区分大小写)

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

回答by prime

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

ReactDOM!=ReactDom. 你可以做两件事来解决这个问题。

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.

因为ReactDOM!= ReactDom。因此,您需要修复这些地方之一,以便两个地方具有相同的名称和相同的大小写。

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