vuex的作用以及机制
vuex是一个专门为vue开发的,状态管理模式。
每一个 Vuex 应用的核心就是 store(仓库)。“store” 基本上就是一个容器,它包含应用部分的状态 ( state )。
vuex保存的状态有以下特点:
1.Vuex 的状态存储是响应式的
2.改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。
数据是如何流转的?
核心流程:
● commit提交mutation来修改state或者在组件中异步更新,必须通过dispatch派发action来更新mutation最终修改state.
● 然后 Mutations 就去改变(Mutate)State 中的数据;
● 当 State 中的数据被改变之后,就会重新渲染(Render)到 Vue Components 中去,组件展示更新后的数据,完成一个流程。
存储在哪里
vuex存储在内存中,刷新页面时vuex存储的值会丢失。
有哪些属性
● state => 基本数据
● getters => 从基本数据派生出来的数据
● mutations => 提交更改数据的方法,同步
● actions => 像一个装饰器,包裹mutations,使之可以异步。
● modules => 模块化Vuex
什么情况下使用vuex
Vuex 可以帮助我们管理共享状态,并附带了更多的概念和框架。这需要对短期和长期效益进行权衡。
如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 store 模式就足够您所需了。但是,如果您需要构建一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。引用 Redux 的作者 Dan Abramov 的话说就是:
Flux 架构就像眼镜:您自会知道什么时候需要它。