Vue-54、Vue技术vuex中四个map使用(mapState、mapGetters、mapActions、mapMutations)

1、mapState方法:用于帮助我们映射state中的数据为计算属性

javascript 复制代码
computed:{
	//借助mapstate生成计算属性,从state中读取数据(对象写法)
	...mapState({sum:'sum',school:'school',subject:'subject'}),
	//借助mapstate生成计算属性,从state中读取数据(数组写法)
    ...mapState(['sum','school','subject']),
}

2、mapGetters:用于帮助我们映射getters中的数据为计算属性

javascript 复制代码
computed:{
	//借助mapGetters生成计算属性,从getters中读取数据(对象写法)
    ...mapGetters({bigSum:'bigSum'}),
    //借助mapGetters生成计算属性,从getters中读取数据(数组写法)
    ...mapGetters(['bigSum']),
}

3、mapActions方法:用于帮助我们生成与action对话的方法,即:包含$store.dispatch(xxx)的函数

javascript 复制代码
methods:{
	 //借助mapActions生成对应的方法,方法中会调用dispatch去联系actions(对象写法)
        ...mapActions({addSumOdd:'SumOdd',addSumWait:'jiaWait'})

     //借助mapActions生成对应的方法,方法中会调用dispatch去联系actions(数组写法)
        ...mapActions(['SumOdd','jiaWait'])
	
}

4、mapMutations方法:用于帮助我们生成与mutations对话的方法,即:包含$store.commit(xxx)的函数

javascript 复制代码
methods:{
	 //借助mapMutations生成对应的方法,方法中会调用commit去联系mutations(对象写法)
     ...mapMutations({addSum:'JIA',reduceSum:'JIAN'}),
     //借助mapMutations生成对应的方法,方法中会调用commit去联系mutations(数组写法)
     ...mapMutations(['JIA','JIAN']),
}

注意:mapActions与mapMutations使用时,若需要传递参数:在模板中绑定事件时传递好参数,否则参数就是事件对象。

相关推荐
兆子龙4 分钟前
【React】19 深度解析:掌握新一代 React 特性
前端·架构
Moment24 分钟前
MinIO已死,MinIO万岁
前端·后端·github
无双_Joney28 分钟前
心路散文 - 转职遇到AI浪潮,AIGC时刻人的价值是什么?
前端·后端·架构
有意义1 小时前
深度拆解分割等和子集:一维DP数组与倒序遍历的本质
前端·算法·面试
卤蛋fg61 小时前
vxe-table 如何实现分组列头折叠列功能
vue.js
小怪点点1 小时前
vue3使用
前端·vue.js
进击的尘埃1 小时前
Vitest 自定义 Reporter 与覆盖率卡口:在 Monorepo 里搞增量覆盖率检测
javascript
进击的尘埃1 小时前
E2E 测试里的网络层,到底该怎么 Mock?
javascript
Bigger2 小时前
CSS 这些年都经历了什么?一次看懂 CSS 的演化史
前端·css·前端工程化
DevUI团队2 小时前
🚀 【Angular】MateChat V20.2.2版本发布,新增8+组件,欢迎体验~
前端·javascript·人工智能