vuex 中dispatch 和 commit 的用法和区别

dispatch:含有异步操作,例如向后台提交数据,写法: this.$store.dispatch('action方法名',值)

commit:同步操作,写法:this.$store.commit('mutations方法名',值)

区别:

1.Action提交的是mutation,而不是直接变更状态,可以包含任意的异步操作。
2.dispatch推送一个action。

1.dispatch 异步操作 this.store.dispatch('action的方法',arg),调用actions里的方法。

2.commit同步操作this.store.commit('mutations的方法', arg),调用mutations里的方法。

使用方法步骤:

 

 

在上面代码中,在mutations中使用箭头函数更改state中的token数据。然后在actions中Login函数中通过commit('SET_TOKEN', tokenSuccess )来进行调用此函数并传参,才能在store存储成功。在需要的组件中使用this.$store.dispatch('actions方法')来调取store里的对应方法,从而更新。


作者:inyourface
链接:https://www.jianshu.com/p/92cacdb75b69
posted @ 2021-02-22 21:17  天午正阳  阅读(5830)  评论(0)    收藏  举报