vuex入门

vuex是一个状态管理工具

流程:

  1. 页面dispatch一个action,然后触发mutations的commit修改状态,state响应到视图上。
解密actions的形参:
image.png
解密mutations的形参:接收state可以直接进行修改state.count = 0
辅助函数
computed:mapState(['count'])  // mapState返回一个对象如下
computed:{
   count (){
      return this.$store.state.count
  }
}
=============
// 简写方式
computed:{
  ...mapState(['count']),  // 可以直接结构出来
  ...mapGetters(['count'])  // vuex中的计算属性,mapGetters传参需要定义两层函数
}
=========
// 如果做二次运算
computed:{
  ...mapState({
  count(state){
       // 形参是state,可以做一些操作
  }
})
}


面试小题:

  1. 是否可以直接修改state状态:可以,若将vue创建 store 的时候传入 strict: true, 开启严格模式,那么任何修改state的操作,只要不经过mutation的函数,vue就会 throw error : [vuex] Do not mutate vuex store state outside mutation handlers。在vuex中也是无法保存记录的
  2. mutation 中是否可以做异步操作:可以,但是vuex中只记录mutation的同步操作,异步无法记录到所以建议把异步放到action中
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 那如何获取到state的数据呢? 一般会在组件的计算属性(computed)获取state的数据(因为,计算属性会...
    qiaoguoxing阅读 105评论 0 0
  • 由于多个状态分散的跨越在许多组件和交互间各个角落,大型应用复杂度也经常逐渐增长。为了解决这个问题,Vue 提供 v...
    lonelydawn阅读 1,074评论 0 1
  • vuex五大核心 1.State 2.Getters 3.Mutations 4.Actions 5.Module...
    刘_小_二阅读 254评论 0 0
  • Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有...
    寒梁沐月阅读 478评论 0 0
  • Vuex用法 前言: vuex, 是vue 的一个插件,作用是 对vue应用中多个组件的共享状态进行集中式的管理(...
    _Youarethehero阅读 343评论 0 0