Vue进阶七十三:vuex store.commit 和 store.dispatch 的区别及用法

代码示例:

this.$store.commit('loginStatus', 1);

this.$store.dispatch('isLogin', true);

规范使用方式:

// 以载荷形式
store.commit('increment'{
  amount: 10   //这是额外的参数
})

// 或者使用对象风格的提交方式
store.commit({
  type: 'increment',
  amount: 10   //这是额外的参数
})

主要区别:

  • dispatch:含有异步操作,数据提交至 actions ,可用于向后台提交数据;

写法示例: this.$store.dispatch('isLogin',true);

  • commit:同步操作,数据提交至 mutations ,可用于登录成功后读取用户信息写到缓存里

写法示例: this.$store.commit('loginStatus',1);

两者都可以载荷形式或者对象风格的方式进行提交。

扩展阅读

相关文章

这篇文章我们将通过debug源码的方式来带你搞清楚defineAsync...
欧阳老老实实的更新自己的高质量vue源码文章,还被某2.6k st...
前言 在Vue3.5版本中响应式 Props 解构终于正式转正了,这个...
组合式 (Composition) API 的一大特点是“非常灵活”,但也因...
相信你最近应该看到了不少介绍Vue Vine的文章,这篇文章我们...
前言 在欧阳的上一篇 这应该是全网最详细的Vue3.5版本解读文...