我正在使用react-router版本 0.13.3 与反应版本 0.13.3 (是的,两者都是一样的)。我用 Router.run() 方式,以便可以在URL更改时重新呈现UI。我将展示我的代码,它适用于我,它在ES6中(尽管从它中导出ES5应该不会太难):
0.13.3
Router.run()
import React from 'react'; import Router, { Route, DefaultRoute, NotFoundRoute, Redirect, Link } from 'react-router'; // Components import App from './components/App.js'; import Home from './components/Home.js'; import SampleComponent from './components/SampleComponent.js'; const AppRoutes = ( <Route path="/" handler={App}> <DefaultRoute name="home" handler={Home} /> <Route name="sample" handler={SampleComponent} /> </Route> ); Router.run(AppRoutes, Router.HashLocation, (Root) => { React.render(<Root />, document.body); });
确保您指定的组件 AppRoutes 可以访问(通过导入或要求它们)。在这种情况下,我也用过 DefaultRoute 例如在 AppRoutes - 所以如果你使用类似的配置,那么请确保你从react-router导出中获得它们。希望很清楚。
AppRoutes
DefaultRoute
如果您仍然遇到问题,请分享您的代码。
我有一个现有的示例代码,您可以参考 - https://github.com/iroy2000/react-reflux-boilerplate-with-webpack
对于那些感兴趣的人,它被称为“React Reflux Workflow Boilerplate”,它是一个工作流程框架,通过提供开箱即用的开发和生产就绪构建流程框架,使开发人员的生活更轻松。