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
ReactDom is undefined
提问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 ReactDOM
but 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'));