Redux简介

再读一遍大师的Redux的教程

Redux是什么?

一种单向数据流的架构,状态管理工具/方案,适用于多交互、多数据源的场景;(类似的有Flux)

设计思想

  1. Web应用是个状态机,视图与状态是一一对应的(数据即视图)
  2. 所有的状态,保存在一个对象中

基本概念

  1. Store

    即保存数据的地方,可看成一个容器;整个应用只能有一个Store;

  2. State

    即某个时间点的数据集合;对Store生成快照所得;// Store -> getState();

  3. Action

    是一个描述当前发生的事件的对象,必须有type属性(一个tag,用来区分),一般由用户触发View发起,用于改变State的唯一办法;

  4. Reducer

    一个接收Action和当前State作为参数,返回一个新的State的纯函数;(将一系列Action对象按照顺序看作一个数组,然后调用reduce方法)

Store的实现

提供三个方法:

  1. store.getState() //获取快照
  2. store.dispatch() // 发送action
  3. store.subscribe() // 设置监听函数,其返回一个函数,调用可解除监听

Vuex是什么?

Vuex是Vue.js的状态管理模式,借鉴了Flux、Redux、Elm等思想;其部分概念和上述类似;

引用源

Written on September 5, 2019