mapState,...mapState对象展开符简述

        当一个组件要获取多个 state 的时候,声明计算属性就会变得重复和冗余了。我们可以使用到辅助函数 mapState 来更快更简洁地生成计算属性。

        mapState 的作用就是帮我们把一个对象数组里的值转化成计算属性的写法。将传入的数组或对象转成 computed 计算属性能够识别的代码。

例子1:mapState的一种使用方式及它的实际代码效果

mapState,...mapState对象展开符简述

例子2:mapState的几种用法

computed: mapState({

        count: 'count', // 第一种写法

        sex: (state) => state.sex, // 第二种写法

        from: function (state) { //第三种写法,用普通函数this指向vue实例,要注意

              return this.str + ':' + state.from

        },

  }),

额外知识点补充:事实上第二种和第三种是同一种,只是前者用了ES6的偷懒语法,箭头函数,在偷懒的时候要注意一个问题,this指针的指向问题,不要在vue中为了偷懒使用箭头函数,会导致很多很难察觉的错误,如果你在用到state的同时还需要借助当前vue实例的this,请务必使用常规写法.

mapState 还经常使用到 es6 的扩展运算符,这个不是 vuex 的实现,而是 es6 的一个新特性:mapState,...mapState对象展开符简述

转自:

https://blog.****.net/dkr380205984/article/details/82185740

https://juejin.im/post/5ae433ab518825671a6388d5