Vuex分析及使用

一、Vuex是什么

    Vuex是专门为Vue.js应用程序设计的状态管理工具。采用集中式存储管理应用的所有组件状态,并以相应的规则保证状态是以一种可以预测的方式发生变化。

1、Vuex的构成

vuex.png

由上图,我们看出Vuex有以下几个部分组成:

1) state

state是存储的单一状态,是存储的基本数据。

2)Getters

getters 是store的计算属性,对state的加工,是派生出来的数据,和computed计算属性类似,getters返回的值会根据它的依赖缓存起来,且当它的依赖值发生改变才会被重新计算。

3) Mutations

mutations提交更变数据,使用store.commit方法更改state的存储状态。

4) Actions

actions像是一个容器,提交mutation,而不是直接改变状态,(actions可以包含任何异步操作)

5) Module

module是store分割的模块,每个模块拥有自己的state、getters、mutations、actions。

const moduleA = {
  state: { ... },
  mutations: { ... },
  actions: { ... },
  getters: { ... }
}

const moduleB = {
  state: { ... },
  mutations: { ... },
  actions: { ... }
}

const store = new Vuex.Store({
  modules: {
    a: moduleA,
    b: moduleB
  }
})

store.state.a // -> moduleA 的状态
store.state.b // -> moduleB 的状态

6) 辅助函数

Vuex提供了mapState、mapGetters、mapMoutations、mapActions等辅助函数给开发在vm中处理store。

二、Vuex的使用

import Vuex from 'vuex';
Vue.use(vuex);
const store = new Vuex.Store({
   state,
   getters,
   mutations,
   actions
})
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 安装 npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.u...
    萧玄辞阅读 8,043评论 0 7
  • ### store 1. Vue 组件中获得 Vuex 状态 ```js //方式一 全局引入单例类 // 创建一...
    芸豆_6a86阅读 4,044评论 0 3
  • ### store 1. Vue 组件中获得 Vuex 状态 ```js //方式一 全局引入单例类 // 创建一...
    芸豆_6a86阅读 3,047评论 0 0
  • vuex 场景重现:一个用户在注册页面注册了手机号码,跳转到登录页面也想拿到这个手机号码,你可以通过vue的组件化...
    sunny519111阅读 12,466评论 4 111
  • Vuex 的学习记录 资料参考网址Vuex中文官网Vuex项目结构示例 -- 购物车Vuex 通俗版教程Nuxt....
    流云012阅读 5,339评论 0 7

友情链接更多精彩内容