Vue Vuex解决重复的代码问题 简化代码

mapState简写

javascript 复制代码
$store.state.sum
$store.state.age
$store.state.num
....

这种这种方法取值,如果太多很麻烦,不便于维护

可以写出计算属性

html 复制代码
<h1>{{sum}}</h1>
....
javascript 复制代码
computed:{
sum(){return this.$store.state.sum }
},
....

这样提高了代码的可读性,但是值太多还是一样需要写很多的计算属性,这时候可以导入mapState来进行生成代码,这样大大的简化了代码,可读和维护性更高

html 复制代码
<h1>{{age}}</h1>
....
javascript 复制代码
import { mapState} from 'vuex'
//导入

computed:{

...mapState({ 

he:'sum',

// sum:'sum'

age:'age',

....
})

}

相当于

javascript 复制代码
sum(){return this.$store.state.sum }

//简化了很多

更简洁的写法

html 复制代码
<h1>{{age}}</h1>
....
javascript 复制代码
...mapState(['sum','age'])

sum age 一定需要和state里的名一样


mapGetters简写

和state一样

javascript 复制代码
import { mapState,mapGetters} from 'vuex'

mapMutations简写

javascript 复制代码
import { mapMutations } from 'vuex';

原始写法

javascript 复制代码
 add()
        { 
            this.$store.dispatch('addSum',1)
        }

简写

html 复制代码
<button @click="add(1)">加</button>  这里传参
javascript 复制代码
...mapMutations({add:'addSum'})
...mapMutations(['add'],'age')
//名字一样时这样使用

mapActions

javascript 复制代码
import {mapActions} from 'vuex'
html 复制代码
<button @click="addSum(1)">加</button>
javascript 复制代码
 ...mapActions(['addSum'])
相关推荐
冰暮流星17 分钟前
css之线性渐变
前端·css
徐同保22 分钟前
tailwindcss暗色主题切换
开发语言·前端·javascript
mapbar_front26 分钟前
大厂精英为何在中小公司水土不服?
前端
生莫甲鲁浪戴1 小时前
Android Studio新手开发第二十七天
前端·javascript·android studio
细节控菜鸡3 小时前
【2025最新】ArcGIS for JS 实现随着时间变化而变化的热力图
开发语言·javascript·arcgis
2501_916008893 小时前
Web 前端开发常用工具推荐与团队实践分享
android·前端·ios·小程序·uni-app·iphone·webview
SkylerHu4 小时前
前端代码规范:husky+ lint-staged+pre-commit
前端·代码规范
菜鸟una4 小时前
【微信小程序 + 消息订阅 + 授权】 微信小程序实现消息订阅流程介绍,代码示例(仅前端)
前端·vue.js·微信小程序·小程序·typescript·taro·1024程序员节
Yeats_Liao4 小时前
Go Web 编程快速入门 05 - 表单处理:urlencoded 与 multipart
前端·golang·iphone
飞翔的佩奇4 小时前
【完整源码+数据集+部署教程】【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv
前端·python·yolo·计算机视觉·数据集·yolo11·足球场地区域图像分割系统