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'])
相关推荐
一个假的前端男18 分钟前
uniapp 3端轮播
前端·javascript·uni-app
Fantasydg2 小时前
Request Response对象
前端
Wect2 小时前
学习React-DnD:核心组件与Hooks
前端
humors2212 小时前
前端开发案例(不定期更新)
前端·vue.js·elementui·ruoyi·若依
菠萝+冰2 小时前
npm中-d -g 和默认安装的区别
前端·npm·node.js
心随雨下2 小时前
Flutter Material 3设计语言详解
javascript·flutter·设计语言
一路向北North2 小时前
网页版预编译SQL转换工具
前端·javascript·sql
拿不拿铁193 小时前
Vite 5.x 开发模式启动流程分析
前端
fruge3 小时前
设计稿还原技巧:解决间距、阴影、字体适配的细节问题
前端·css
把csdn当日记本的菜鸡3 小时前
js查缺补漏
开发语言·javascript·ecmascript