mapState使用

Posted my466879168

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mapState使用相关的知识,希望对你有一定的参考价值。

mapState作用:可以辅助获得多个state的值
vuex中state中的数据在使用的时候,一般都是在computed中定义的,以为在data中定义的话是一次性的,不会随着vuex中数据变化而变化,虽然可以通过watch监听,但是很麻烦,如下:

computed:{
    a(){
        return this.$store.state.menuStatus
    }
}
watch:{
    '$store.state.menuStatus':{
        handler(newVal,oldVal){
            console.log(newVal)
        }
    }
}

这样写还是比较麻烦的,可以使用mapState辅助函数

import {mapState} from 'vuex'

computed:mapState({
    //第一种写法
    menuStatus:'menuStatus'
    //第二种写法
    menuStatus:(state)=>state.menuStatus
    //计算属性中的普通函数
    fn(){return ...

更简洁的写法就是...mapState

//在计算属性中
computed:{
    ...mapState([
        //必须带引号
        'menuStatus'
    ])
}

以上是关于mapState使用的主要内容,如果未能解决你的问题,请参考以下文章

vuex里mapState,mapGetters使用详解

mapState使用

Vuex mapState的基本使用

使用 vuex 时如何在 typescript 语法中使用 mapState 函数?

Vue3 使用mapState

使用 Vuex,为啥 mapGetters 不接受与 mapState 相同的语法?