Vuex 的语法“...mapActions([‘login‘]) ”是用于在组件中映射 Vuex 的 actions 方法

...mapActions(['login']) 是 Vuex 的语法,用于在组件中映射 Vuex 的 actions 方法 ,让你可以像调用本地方法一样去调用 Vuex 中的 login 方法。


它的意思是:

js 复制代码
...mapActions(['login'])

等价于:

js 复制代码
methods: {
  login() {
    return this.$store.dispatch('login');
  }
}

使用场景:

在 Vue 组件的 methods 中使用 mapActions

js 复制代码
<script>
import { mapActions } from 'vuex';

export default {
  methods: {
    ...mapActions(['login']),
  }
}
</script>

然后你就可以在组件里直接调用:

js 复制代码
this.login(); // 实际上是触发 Vuex 里的 login action

举个实际例子:

Vuex 中:

js 复制代码
// store.js
export default {
  actions: {
    login({ commit }, payload) {
      // 做登录逻辑,比如发请求
      console.log('用户登录中...', payload);
    }
  }
}

组件中:

js 复制代码
export default {
  methods: {
    ...mapActions(['login']),
    doLogin() {
      this.login({ username: 'test', password: '123456' });
    }
  }
}

补充:mapActions 的作用

用法 作用
mapActions(['xxx']) 映射 this.xxx() 到 Vuex action
mapMutations(['xxx']) 映射 this.xxx() 到 Vuex mutation
mapState(['xxx']) 映射 Vuex state 到组件计算属性
相关推荐
南山安8 分钟前
React学习:Vite+React 基础架构分析
javascript·react.js·面试
诺斯贝克9 分钟前
Unable to create converter for xxx.NetworkResponse<Auth> for method AuthService
前端·后端
listhi5209 分钟前
针对燃油运输和车辆调度问题的蚁群算法MATLAB实现
前端·算法·matlab
渔_10 分钟前
uni-app 页面传参总丢值?3 种方法稳如狗!
前端
快被玩坏了10 分钟前
二次封装了个复杂的el-table表格
前端
用户938169125536012 分钟前
在TypeScript中,可选属性(?)与null类型的区别
前端
JS_GGbond13 分钟前
JavaScript事件循环:餐厅里的“宏任务”与“微任务”
开发语言·javascript·ecmascript
eason_fan21 分钟前
Resize 事件导致的二进制内存泄漏:隐式闭包的 “隐形陷阱”
前端·性能优化
一只叫煤球的猫24 分钟前
我做了一个“慢慢来”的开源任务管理工具:蜗牛待办(React + Supabase + Tauri)
前端·react.js·程序员
LYFlied27 分钟前
AI时代下的规范驱动开发:重塑前端工程实践
前端·人工智能·驱动开发·ai编程