怎么理解`我们可以使用 mapState 辅助函数帮助我们生成计算属性,让你少按几次键`这句话?

Vuex State 文档中:

当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用 mapState 辅助函数帮助我们生成计算属性,让你少按几次键。
// 在单独构建的版本中辅助函数为 Vuex.mapState
import { mapState } from 'vuex'

export default {
  // ...
  computed: mapState({
    // 箭头函数可使代码更简练
    count: state => state.count,

    // 传字符串参数 'count' 等同于 `state => state.count`
    countAlias: 'count',

    // 为了能够使用 `this` 获取局部状态,必须使用常规函数
    countPlusLocalState (state) {
      return state.count + this.localCount
    }
  })
}

请问下,我们可以使用 mapState 辅助函数帮助我们生成计算属性,让你少按几次键。,我们可以理解前面的半句,但是怎么理解让你少按几次键这下半句呢?

阅读 3.9k
3 个回答

帮你生成计算属性 -> 让你少敲几行代码 -> 让你少按几次键。

收下这份幽默。

mapSteta辅助函数帮助我们生成计算属性,就是最后我们使用的计算属性是生成的,减少了代码量吧

我不太理解什麼是「生成計算屬性」....
是原本的計算屬性內容 "只能?" 用傳統的 funciton 的寫法嗎?

myCount: function(){...},
myCount2: function(){...}

然後 mapState 裡可以用箭頭函式嗎?


再多看了幾遍,是不是可以這樣解釋...

store 組件中,有一個 state 屬性,
state 裡面的 "屬性" 保存了資料(就是狀態)。
要獲得那些狀態:最简单的方法就是在「计算属性中返回」某个状态。

"mapState 辅助函数"
就是若 state 中若有很多個屬性,
要將他們一個個聲明到組件中的計算屬性,有點重複冗余。
使用 mapState 辅助函数,能帮助我们生成。
用他的寫法,會將 state 的屬性,對應變成計算屬性,返回變數的值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题