我已经在路由器上设置了 browserHistory (react-router 2.0):
import { browserHistory } from 'react-router'
function requireAuth(nextState, replace) {
if (!services.auth.loggedIn()) {
replace({
pathname: '/login',
state: { nextPathname: nextState.location.pathname }
})
}
}
export default (store) => (
<Router history={browserHistory}>
<Route path='/' component={AppLayout}>
<Route path="login" component={LoginContainer} />
<Route path="map" component={MapContainer} onEnter={requireAuth} />
</Route>
</Router>
);
然后我尝试在 react-router 中使用 browserHistory 以编程方式从视图路由到新页面,ala:
import { browserHistory } from 'react-router'
...
browserHistory.push('/map');
这会将 URL 更改为 /map 但不会呈现该路由中的组件。我究竟做错了什么?