1
使用react 15.1.0
和react-router 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);
但是後者的結果總是:
Uncaught RangeError: Maximum call stack size exceeded
onEnter: (nextState, replace) => replace('/users')
顯然不足以取代<Redirect from="/" to="/users" />
。我怎樣才能成功重寫重定向?有沒有更好的方法使導航到/
總是最終在/users
?