const test= (nextState, replace) => {
console.info('routerenter', nextState)
}
export default (store) => (
<Route path='/' component={CoreLayout}>
<IndexRoute component={HomeView} />
<Route onEnter={test}>
<Route path='login' component={LoginView} />
<Route path='my' component={MyView} />
</Route>
</Route>
)
为何我这样配置的react-router在进入login的时候可以打印但是进入my的时候缺没有打印信息出来。帮忙看下有问题吗?谢谢
刚刚测试下面这种写法是ok的,但是感觉还是没有上面写法舒服,是不支持上面的写法嘛?
export default (store) => (
<Route path='/' component={CoreLayout}>
<IndexRoute component={HomeView} />
<Route onEnter={test} path='login' component={LoginView} />
<Route onEnter={test} path='my' component={MyView} />
</Route>
)
你要的应该是 onChange,参见 https://github.com/reactjs/react-router/...
onEnter是进入到某个Route时调用,在里面跳转不会重复触发,onChange在里面跳转时也会触发。