Vuex原理

Vuex原理

00:00
02:13

任何一种生态的蓬勃发展,都不可能只由核心团队来进行维护和贡献。同样地,Vue全家桶生态的发展也需要提供一种机制来满足非核心功能的集成与组合。在这里,Vue全家桶提供了一种渐进增强的方式来建构以响应式为核心扩展生态,也就是渐进性的体现。


在使用Vue框架进行开发的过程中,对于组件粒度的数据传递,通常会面临跨组件的数据通信需求。为了实现跨组件通信的需求,在考虑到逐级传递的复杂与繁琐之后,Vue采用集中式数据存储来管理所有组件的状态,并采用单向数据传递的机制保来证数据流向的可控与可预测。在不同框架的状态管理中,都会自定义各自的概念来处理Web应用程序中的交互问题。如何自定义概念,其实也是有不同的架构方案的。在这里,Vuex采用的是被称为Elm的体系结构(The Elm Architecture)。基于Elm体系结构的设计理念,Vuex提出了State、Actions、Mutations的基础概念,用于保证数据的集中管理且单向传递。


可以看出,整个状态管理的核心其实是State。不同于其他的状态管理方案,由于Vue生态的渐进性理念,Vuex中的State其实是直接使用的是Vue实例中的data进行的数据处理,其本质还是依赖于Vue的核心响应式原理。那么,为了实现交互方式的处理必然要涉及到如何处理事件的机制。在Vuex中,对于同步和异步的问题,其分别通过Actions和Mutations进行了相关的处理。所有State的更改,必须通过Mutations中的操作才能改变,而Actions中的操作也需要commit到Mutations中等待进行相应的处理。这样,就实现了View视图到State统一状态的单向数据传递,从而避免数据预测和管理的复杂。

以上内容来自专辑
用户评论

    还没有评论,快来发表第一个评论!