Reactjs 不变冲突:根路由必须在react router 2动态路由中呈现单个元素错误

Reactjs 不变冲突:根路由必须在react router 2动态路由中呈现单个元素错误,reactjs,webpack,react-router,react-router-component,Reactjs,Webpack,React Router,React Router Component,我有一个简单的Hello World应用程序,只有一条路线,没有子路线或索引路线。对于路由选择,我使用而不是jsx sysntax。我再次使用react路由器将Hello组件加载到网页包中。 Myapp.jsx文件包含以下代码 import React from "react"; import ReactDOM from "react-dom"; import {Router, browserHistory} from "react-router"; import Hello from "./c

我有一个简单的Hello World应用程序,只有一条路线,没有子路线或索引路线。对于路由选择,我使用而不是jsx sysntax。我再次使用react路由器将Hello组件加载到网页包中。 Myapp.jsx文件包含以下代码

import React from "react";
import ReactDOM from "react-dom";
import {Router, browserHistory} from "react-router";
import Hello from "./components/Hello";



const routes = [{
    path:"/",
    getComponents(location, callback) {
        require.ensure([], function (require) {
            callback(null, require('./components/Hello'))
        })
    }
}];


ReactDOM.render(
    <Router history={browserHistory}  routes={routes}/>,
    document.getElementById("container")
); 
从“React”导入React;
从“react dom”导入react dom;
从“react Router”导入{Router,browserHistory};
从“/components/Hello”导入Hello;
常数路由=[{
路径:“/”,
getComponents(位置、回调){
要求。确保([],功能(要求){
回调(null,require('./components/Hello'))
})
}
}];
ReactDOM.render(
,
document.getElementById(“容器”)
); 
Hello.jsx组件具有以下代码

import React from "react";
export default class Hello extends React.Component {

    render() {

        return (
            <h2>Hello World</h2>
        )
    }
}
从“React”导入React;
导出默认类Hello.Component{
render(){
返回(
你好,世界
)
}
}

发生此错误是因为Web包不支持es6模块

如果您使用babel来传输es6代码,那么请使用默认关键字,如

require('./components/Hello').default
因此,路线将是

const routes = [{
    path:"/",
    getComponents(location, callback) {
        require.ensure([], function (require) {
            callback(null, require('./components/Hello').default)
        })
    }
}];

非常感谢。节省一天