React Route Component TypeError:历史未定义

时间:2017-03-03 19:44:55

标签: javascript reactjs react-router

我正在尝试使用React Route组件来指定我的路由配置。这基本上就是我正在做的事情:

ReactDOM.render(
    <ReactRouter.Router>
        <ReactRouter.Route path="/" component={App}>
        </ReactRouter.Route>
    </ReactRouter.Router>,
    document.querySelector("#container")
);

Complete version in JSFiddle

以上导致类型错误:

  

TypeError:历史未定义

所有内容都位于text/babel脚本标记内,该标记位于html文档的body中。我通过将以下脚本标记添加到文档的ReactRouter来导入head

<script src="https://npmcdn.com/react-router/umd/ReactRouter.js"></script>

我的应用程序在不使用ReactRouter时工作正常。也就是说,以下代码不会导致类型错误:

ReactDOM.render(
    <App/>,
    document.querySelector("#container")
);

我使用的组件错了吗?我错过了什么?

2 个答案:

答案 0 :(得分:1)

尝试添加<ReactRouter.Router history={ReactRouter.hashHistory}>

答案 1 :(得分:1)

您必须为history提供ReactRouterbrowserHistoryhashHistory取决于您的结构。请参阅documentation

中的详细信息
ReactDOM.render(
    <ReactRouter.Router history={ReactRouter.hashHistory}>
        <ReactRouter.Route path="/" component={App}>
        </ReactRouter.Route>
    </ReactRouter.Router>,
    document.querySelector("#container")
);