_reactDom2.default.render 不是函数

新手上路,请多包涵

考虑以下反应代码

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"]
}

原文由 Sal-laS 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 632
2 个回答

您可以更改 Maincontainner 组件中的某些内容。

  1. 添加到顶部: import ReactDOM from 'react-dom';
  2. 将 --- render 更改为 ReactDOM.render

原文由 VvV 发布,翻译遵循 CC BY-SA 3.0 许可协议

最初,我是这样做的。

 import React from 'react-dom';
import ReactDom from 'react-dom';

很快我意识到我做错了什么并更新了上面的声明如下。

 import React from 'react';
import ReactDom from 'react-dom';

希望能帮助到你。

原文由 Divyanshu Rawat 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进