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使用时,若需要传递参数:在模板中绑定事件时传递好参数,否则参数就是事件对象。

相关推荐
Jedi Hongbin15 小时前
Three.js shader内置矩阵注入
前端·javascript·three.js
etcix15 小时前
dmenux.c: integrate dmenu project as one file
c语言·前端·算法
光影少年15 小时前
react16到react19更新及底层实现是什么以及区别
前端·react.js·前端框架
超人不会飛15 小时前
vue3 markdown组件|大模型应用专用
前端·vue.js·人工智能
じòぴé南冸じょうげん15 小时前
微信小程序如何进行分包处理?
前端·小程序
Jolyne_15 小时前
Table自定义单元格渲染分享
前端
加载中36115 小时前
pnpm时代包版本不一致问题还是否存在
前端·面试·npm
老马啊老马15 小时前
30 分钟搞定!Docker+Jenkins+Nginx + 腾讯云实现前端 CI/CD
前端
VillenK15 小时前
用插件的方式注入Vue组件
前端·vue.js
掘金安东尼15 小时前
Node.js 如何在 2025 年挤压 I/O 性能
前端·javascript·github