Javascript 如何使用react路由器将重定向重写为普通路由?

Javascript 如何使用react路由器将重定向重写为普通路由?,javascript,react-router,jsx,Javascript,React Router,Jsx,使用react 15.1.0和react路由器2.5.2,我希望重写以下JSX语法: <Router routes={routes} history={hashHistory}> <Redirect from="/" to="/users" /> <Route path="/" component={Navigation}> <Route path="/users" component={UsersPage}/> <R

使用
react 15.1.0
react路由器2.5.2
,我希望重写以下JSX语法:

<Router routes={routes} history={hashHistory}>
  <Redirect from="/" to="/users" />
  <Route path="/" component={Navigation}>
    <Route path="/users" component={UsersPage}/>
    <Route path="/endpoints" component={EndpointsPage}/>
  </Route>
</Router>

进入普通路线,如下所示:

const routes = {
  path: '/',
  component: Navigation,
  childRoutes: [
    {path: '/users', component: UsersPage},
    {path: '/endpoints', component: EndpointsPage}
  ],
  onEnter: (nextState, replace) => replace('/users')
};

React.render(<Router routes={routes} history={hashHistory}/>, element);
const路由={
路径:“/”,
组成部分:导航,
儿童路线:[
{路径:'/users',组件:UsersPage},
{路径:'/endpoints',组件:EndpointsPage}
],
onEnter:(nextState,replace)=>replace(“/users”)
};
React.render(,元素);
然而,后者的结果总是:

未捕获范围错误:超过最大调用堆栈大小


onEnter:(nextState,replace)=>replace('/users')
显然不足以替换
。如何成功重写重定向?有没有更好的方法让导航到
/
的用户总是在
/users
处结束?

有一种叫做
IndexRedirect
的东西我不知道。使用索引重定向,在普通路由中执行此操作的正确方法是:

const routes = {
  path: '/',
  component: Navigation,
  indexRoute: {onEnter: (nextState, replace) => replace('/users')},
  childRoutes: [
    {path: '/users', component: UsersPage},
    {path: '/endpoints', component: EndpointsPage}
  ]
};

React.render(<Router routes={routes} history={hashHistory}/>, element);
const路由={
路径:“/”,
组成部分:导航,
索引路由:{onEnter:(nextState,replace)=>replace('/users')},
儿童路线:[
{路径:'/users',组件:UsersPage},
{路径:'/endpoints',组件:EndpointsPage}
]
};
React.render(,元素);