状态管理

本质上就是把整个应用抽象为下图中的循环。facebook最早提出 Flux 这个概念的时,也是一个很松散的概念,而且官方的实现本身做得很难用。

  • state: 驱动应用的数据源
  • view: 以声明方式将state映射到视图
  • actions: 响应在view上的用户输入导致的状态变化

图中的这三个东西是一个单向数据流,State 驱动 View 的渲染,而用户对 View 进行操作产生 Action,会使State产生变化,从而导致 View 重新渲染。

一个单独的Vue的组件,其实就已经是这样的结构。

但是当多个这样的组件来配套的时候,就会遇到一个问题。每个组件都有它自己的状态,但整个应用的状态,跟组件之间并不一定存在一一对应的关系。这个状态可能是一个全局状态。那么状态到底放在哪里?大部分解决方案是把这个状态从组件树中提取出来,放在一个全局的 Store 里面

所以出现了下面一节的Vuex。

results matching ""

    No results matching ""