dva路由监听

在dva中我们可以在Modal中实现事件监听,通过在modal中添加一个 subscriptions,并且在里面创建一个setup函数

{
    namespace: 'infoArea',
    state: {

    },
    subscriptions: {
        setup (vlaue) {
            console.log(vlaue)
        }
    },
    effects: {

    },
    reducers: {
        
    },
}

这个set函数只接受两个参数,一个是dispatch一个是history,在代码里面我们把value打印出来可以看到


所以我们一般都是这样来监听路由的

    subscriptions: {
        setup ({dispatch, history}) {
            history.listen(( pathname ) => {
                console.log(pathname)
            })
        }
    },

在路由匹配过程中我们需要时用一个包,叫做 path-to-regexp,可以自己npm install一下,

这个包的一般用法就是像这样

    subscriptions: {
        setup ({dispatch, history}) {
            history.listen(( location ) => {
                const match = pathToRegexp('/gridInfoManage/:id').exec(location.pathname)
            })
        }
    },
exec前面的会把路由转换成一个正则,然后调用正则的exec来匹配我们的路由, 匹配成功就返回一个match对象,里面具体是什么可以自己打印一下




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值