考虑以下反应代码
main.js文件是:
import React from 'react';
import ReactDOM from 'react-dom';
import Maincontainner from './maincontainner';
ReactDOM.render(
<div>
<h1>News</h1>
<Maincontainner/>
</div>,
document.getElementById('content')
);
,组件是:
import React from 'react';
export default class Maincontainner extends React.Component{
render() {
console.log("I am here");
return (<dev> Salman is here </dev>);
}
}
问题是,当我运行应用程序时,我在控制台中遇到以下错误:
Uncaught TypeError: _reactDom2.default.render is not a function
这里是依赖项
"dependencies": {
"webpack": "^1.12.14",
"webpack-dev-server": "^1.14.1",
"react" : "^0.14.7",
"react-dom" : "^0.14.7",
"babel-cli": "^6.5.1",
"babel-preset-es2015": "^6.5.0",
"babel-loader": "^6.2.1",
"babel-preset-react": "^6.3.13",
"babelify": "^7.2.0"
}
更新:webpack.config.json
module.exports={
entry: './js/main.js',
output:{
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /.js?$/,
loader: 'babel',
exclude: /node_modules/,
query: {
presets: ['es2015', 'react']
}
}
]
},
devServer:{
port:3000
}
};
我还有1个.babelrc文件
{
"presets": ["es2015", "react"]
}
答案 0 :(得分:36)
您可以更改import ReactDOM from 'react-dom';
组件中的内容。
render
ReactDOM.render
更改为$scope.data
httpGetAsync("myUrlWasHere",
getBlogPosts,
$scope.data);
答案 1 :(得分:2)
最初,我这样做。
import React from 'react-dom';
import ReactDom from 'react-dom';
很快我就意识到自己做错了什么,并将上述声明更新如下。
import React from 'react';
import ReactDom from 'react-dom';
希望它有所帮助。
答案 2 :(得分:1)
更新反应和反应“^ 15.2.1”对我有用。我希望它会对你有所帮助。
答案 3 :(得分:0)
就我而言,我写了{import ReactDOM来自&#39;反应&#39; }。显然,我应该使用&#39; react-dom&#39;
答案 4 :(得分:0)
更新react
版本时,我解决了此错误。也许_reactDom2.default.render is not a function
的意思是因为ReactDOM
没有render
功能。
"dependencies": {
"react" : "^0.14.7",
"react-dom" : "^0.14.7"
}
至:
"dependencies": {
"react": "^16.5.2",
"react-dom": "^16.5.2"
}
答案 5 :(得分:0)
在我的情况下,问题是:
import render from "react-dom";
vs
import { render } from "react-dom";
我必须以第二种方式进行操作,否则会出现该错误。会想知道为什么会因为它们都看起来有效
答案 6 :(得分:0)
将导入样式更改为
import React from "react";
import ReactDOM from "react-dom";
ReactDOM.render(
<div>
<App />
</div>,
document.getElementById('root')
);
答案 7 :(得分:-1)
我使用这种心态的一些教程似乎运作良好。
'use strict';
import React, { Component } from 'react';
import { render } from 'react-dom';
class Pokemon extends Component{
render() {
const { pokemon, id } = this.props;
return (
<div className="pokemon--species">..</div>
);
}
}
render(
<div className="myDiv">Hello Electron!</div>,
document.getElementById('content')
);
希望这会有所帮助......有时所有的依赖关系,转换和配置都会让这些东西变得有点压倒性的-_-