PlainRoute Redirect / onEnter未触发从子路由导航到父路由

时间:2016-03-07 21:57:03

标签: reactjs react-router

我正在使用alternate syntax使用PlainRoute定义我的路线。 It's recommended使用onEnter生命周期事件来触发重定向。但是,由于onEnter当前的行为方式(或者至少我理解它的行为方式),在从子路径导航到父路径时不会触发它。例如,如果您从/profile/foo导航到/profile,则不会触发onEnter

让我们看看一些代码:

export default {
  path: 'projects',
  onEnter (next, replace) {
    console.log('1st level deep!')
    if (next.routes.length <= 2) {
      replace('/foo')
    }
  },
  childRoutes: [
    {
      path: ':project',
      onEnter (_, replace) {
        console.log('2nd level deep!')
      },
      component: ProjectComponent
    }
  ]
}

不会触发父母的onEnter,也无法进行重定向。有谁知道我不知道的触发onEnter的方法? react-router-redux选择并广播位置更改,但我宁愿依赖react-router。谢谢你的时间!

0 个答案:

没有答案