vue-x的辅助函数

1.vuex的辅助函数有哪些

 mapState、mapGetters、mapActions、mapMutations
实际就是把state、getters、mutations、actions整合成一个数组,一次性返回

注:mapState,mapGetters返回的是属性,所以混入到 computed 中,mapMutations,mapActions返回的是方法,只能混入到methods中

2.mapState、mapGetters、mapActions、mapMutations辅助函数的概念

实际上以上的辅助函数都是store的各种属性的一系列的语法糖

1.state && mapState

state:vuex里的唯一数据源。当一个组件需要获取多个状态时候,将这些状态都声明为计算属性比较冗余,所以就用mapState。
2.getter && mapGetter

getter:store中派生状态,可以认为是store的计算属性。mapGetter将store中的getter映射到局部计算属性。
3.mutation && mapMutation

更改vuex中store中状态的唯一方法:提交mutation。每个mutation都有一个事件类型(type)和一个回调函数。这些事件类型一般是用常量代替。
 4,action && mapActions

action类似于mutation,不同之处:
action提交的是mutation,而不是直接改变状态。
action可以包含任意异步操纵。

然后再说一说如何使用


 

使用辅助函数是把vuex中的getters等函数映射到vue中,调用时使用 this.user 即可调用 this.$store.getters.user 函数,传参时正常传参

注意:你在组件中可以使用 this.$store.dispatch('xxx') 分发 action,或者使用 mapActions 辅助函数将组件的 methods 映射为 store.dispatch 调用

import { mapActions } from 'vuex'
 
export default {
  // ...
  methods: {
    ...mapActions([
      'increment' // 映射 this.increment() 为 this.$store.dispatch('increment')
    ]),
    ...mapActions({
      add: 'increment' // 映射 this.add() 为 this.$store.dispatch('increment')
    })
  }
}

你可能感兴趣的:(vue-x的辅助函数)