首页 > react-router路由的onEnter为何部分无效

react-router路由的onEnter为何部分无效


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在里面跳转时也会触发。

【热门文章】
【热门文章】