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

查看:975
本文介绍了react.js - 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在里面跳转时也会触发。

这篇关于react.js - react-router路由的onEnter为何部分无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆