什么是 Vuex ?它是做什么的

如题所述

Vuex 是Vue的一种状态管理模式,专门为Vue设计的,集中式组件管理状态,我们通常不会这么做,通常使用的是子父传值,父子传值,兄弟传值,父直接用子,子直接用父,当组件之间的传值满足不了需求,来自不同视图需要变更同一个状态,会使用状态管理器,通俗的来讲就是你觉得你现有的功能满足不了项目需求,需要使用那么就使用,如果不需要使用那么就不使用,使用它并没有绝对的条件。

Vuex 使用 单一状态树 ——是的,用一个对象就包含了全部的应用层级状态。这也意味着,每个应用将仅仅包含一个 store 实例。单一状态树让我们能够直接地定位任一特定的状态片段,在调试的过程中也能轻易地取得整个当前应用状态的快照。

有时候我们需要从 store 中的 state 中派生出一些状态,例如对列表进行过滤并计数

Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性)。就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。

store 中的状态的唯一提交方法 

Action 类似于 mutation,不同在于:

Action 提交的是 mutation,而不是直接变更状态。

Action 可以包含任意异步操作。

由于使用单一状态树,应用的所有状态会集中到一个比较大的对象。当应用变得非常复杂时,store 对象就有可能变得相当臃肿。

为了解决以上问题,Vuex 允许我们将 store 分割成 模块(module) 。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割:
温馨提示:答案为网友推荐,仅供参考
相似回答