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对象,里面具体是什么可以自己打印一下




猜你喜欢

转载自blog.csdn.net/Her_smile/article/details/80899902
dva