前言:上一章我们将仓库拆分成了四个文件,这一章我们讲下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计算属性中使用这个辅助函数。
3、mapActions
(1)mapState辅助函数是获取vuex中state对象的值,而mapActions对应的是哪个操作呢?——就是把dispatch方法分发action这个操作简化。(这里不懂的可以看前章:vuex初探(二))
(2)所以,让我们进入到testCity.vue页面:
- 引入mapActions
- 在methods中注册这个方法
- 使用



