Vue2向Vue3过度Vuex核心概念actions

目录


1 核心概念 - actions

state是存放数据的,mutations是同步更新数据 (便于监测数据的变化, 更新视图等, 方便于调试工具查看变化),

actions则负责进行异步操作

说明:mutations必须是同步的

需求: 一秒钟之后, 要给一个数 去修改state

1.定义actions

js 复制代码
mutations: {
  changeCount (state, newCount) {
    state.count = newCount
  }
}


actions: {
  setAsyncCount (context, num) {
    // 一秒后, 给一个数, 去修改 num
    setTimeout(() => {
      context.commit('changeCount', num)
    }, 1000)
  }
},

2.组件中通过dispatch调用

js 复制代码
setAsyncCount () {
  this.$store.dispatch('setAsyncCount', 666)
}

2 辅助函数 -mapActions

1.目标:掌握辅助函数 mapActions,映射方法

mapActions 是把位于 actions中的方法提取了出来,映射到组件methods中

Son2.vue

js 复制代码
import { mapActions } from 'vuex'
methods: {
   ...mapActions(['changeCountAction'])
}

//mapActions映射的代码 本质上是以下代码的写法
//methods: {
//  changeCountAction (n) {
//    this.$store.dispatch('changeCountAction', n)
//  },
//}

直接通过 this.方法 就可以调用

vue 复制代码
<button @click="changeCountAction(200)">+异步</button>
相关推荐
北辰alk几秒前
Vue Router 参数传递:params vs query 深度解析
vue.js
ZoeLandia2 分钟前
Qiankun 生命周期与数据通信实战
前端·微前端·qiankun
LawrenceLan3 分钟前
Flutter 零基础入门(十五):继承、多态与面向对象三大特性
开发语言·前端·flutter·dart
北辰alk6 分钟前
Vue 3 Diff算法革命:比双端比对快在哪里?
vue.js
二川bro10 分钟前
详细解析 cesiumViewer.render() 和 requestAnimationFrame(render)
前端
前端付豪14 分钟前
必知Node应用性能提升及API test 接口测试
前端·react.js·node.js
boooooooom18 分钟前
手写简易Vue响应式:基于Proxy + effect的核心实现
javascript·vue.js
王同学 学出来23 分钟前
vue+nodejs项目在服务器实现docker部署
服务器·前端·vue.js·docker·node.js
一道雷28 分钟前
让 Vant 弹出层适配 Uniapp Webview 返回键
前端·vue.js·前端框架
bug总结38 分钟前
uniapp+动态设置顶部导航栏使用详解
java·前端·javascript