我正在尝试使用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")
);


我使用的组件是否错误?我想念什么?

最佳答案

您必须为history提供ReactRouter,它可以是browserHistoryhashHistory取决于您的结构。在documentation中查看更多信息

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

10-06 04:18