redux学习

33 阅读1分钟

一、什么是redux

Redux是一个JavaScript容器,用于进行状态化管理。Redux除了和React一起使用还支持其它界面库,并且它的体积只有2kb左右

Redux三大核心

  • 单一数据源
    • 整个应用的state被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个store中。
  • State 是只读的
    • 唯一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。
  • 使用纯函数来执行修改
    • 为了描述 action 如何改变 state tree ,你需要编写 reducers

Redux组成

  • State状态

    • 服务器返回的state、ui state、全局的state
  • action事件

    • 本质上是一个js对象
    • 需要包含type属性
    • 描述了有事情要发生,并没有描述如何去更新state
  • reducer

    • 本质上就函数
    • 响应发送过来的action
    • 函数接收两个参数、第一个是初始化state、第二个是发送过来的action
    • 必须有return返回值
  • Store

    • 维持应用的state(状态)(服务器返回的state、ui state、全局的state)
    • 提供getstate方法读取state
    • 用来把action和reducer关联到一起的
    • 通过createStore来构建store
    • 通过通过subscribe来注册监听
    • dispatch方法发送action