前言:上一章我们将仓库拆分成了四个文件,这一章我们讲下
mapState
、mapActions
这两个辅助函数。
GitHub:https://github.com/Ewall1106/mall
1、关于辅助函数
(1)首先我们需要明确一点的就是,像mapState
这些都是辅助函数,只不过是一种简写方法,让你少按几次键而已。以mapState辅助函数
为例:
当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用
mapState
辅助函数帮助我们生成计算属性,让你少按几次键。
(2)注意事项
mapMutations
放到methods下;mapActions
放到methods下;mapGetters
则放到computed下。
2、mapState
(1)让我们进入test.vue
文件中,我们以前获取vuex
中state
的city
数据直接使用的是:
this.$store.state.city
但是,如果要引用state
中的很多数据怎么办?
(2)这时候,就是mapState
这个辅助函数派上用场了,可以帮我们简化操作。
首先当然得从
vuex
中引入mapState
;然后我们在
computed
计算属性中使用这个辅助函数。
mapState辅助函数
3、mapActions
(1)mapState
辅助函数是获取vuex
中state
对象的值,而mapActions
对应的是哪个操作呢?——就是把dispatch
方法分发action
这个操作简化。(这里不懂的可以看前章:vuex初探(二))
(2)所以,让我们进入到testCity.vue
页面:
引入
mapActions
在
methods
中注册这个方法使用
mapState辅助函数
4、小结
这章讲了
vuex
中的两个辅助函数,其实没什么难的,其本质不过就是简化代码而已。下章我们讲
mapMutations
和mapGetters
这两个辅助函数,虽然本质都是一样同为简化操作,但是使用的过程中与本章讲的两个还是有些许不同。
已是最后
作者:Ewall_
链接:https://www.jianshu.com/p/710a93d591a7