1.状态管理工具的基本原则
- 一个类似于object的全局数据结构——称之为store
- 只能调用一些特殊的方法来实现修改数据
2.vuex
vuex包含以下部分:
- state:驱动应用的数据源
- view:以声明方式将state映射到视图
- actions:响应在view上的用户输入导致的状态变化
以下是一个表示“单向数据流”理念的简单示意:
但是,当有多个组件间需要共享状态时,单向数据流的简洁性很容易被破坏:
- 多个视图依赖于同一状态
- 传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力
- 来自不同视图的行为需要修改同一个状态
- 我们经常会采用父子组件直接引用或者通过事件来变更和同步状态的多份拷贝。以上的这些模式非常脆弱,通常会导致无法维护的代码。
(1)vuex的原理:
(2)vuex的特点:
- 状态存储是响应式的
- 不能直接改变store中的状态,唯一途径就是显式的提交(commit)mutation
(3)什么情况下需要用到vuex:
官网的原文可以很好的说明: