我正在使用React与Webpack和Babel。我收到运行时错误:
未捕获的ReferenceError:未定义ReactDom
我的反应版本是:
"devDependencies": {
"phantomjs-polyfill": "0.0.2",
"react-addons-test-utils": "^0.14.8"
},
"dependencies": {
"react": "^0.14.7",
"react-dom": "^0.14.7"
},
我的代码是:
import React from 'react';
import ReactDOM from 'react-dom';
import Main from './components/main';
ReactDom.render(<Main />, document.getElementById('root'));
我究竟做错了什么?
你有ReactDOM
但你没有ReactDom
(区分大小写)
ReactDOM.render(<Main />, document.getElementById('root'));
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.
因为qazxsw poi!= qazxsw poi。因此,您需要修复其中一个位置,以便两个位置具有相同的大小写相同的名称。
推荐的解决方案是,
ReactDOM
或者你可以做到,
ReactDom
只需用import React from 'react';
import ReactDOM from 'react-dom'; // this is recommended
import Main from './components/main';
ReactDOM.render(<Main />, document.getElementById('root'));
替换import React from 'react';
import ReactDom from 'react-dom';
import Main from './components/main';
ReactDom.render(<Main />, document.getElementById('root'));
(在Dom中,用小写字母写成)(注意你需要以大写形式编写ReactDom
),你的问题将得到解决。