redux

redux 理解

什么: redux 是专门做状态管理的独立第三方库,不是 react 插件
作用: 对应用中状态进行集中式的管理(写/读)
开发: 与 react-redux,redux-thunk 等插件配合使用

redux 相关 API

redux 中包含: createStore(),applyMiddleware(),combineReducers()
store 对象: getState(),dispatch(),subscribe()
react-redux:,connect()()

redux 核心概念(3 个)

action:

默认是对象(同步 action),{type: ‘xxx’, data: value},需要通过对应的 actionCreator 产生,它的值也可以是函数(异步 action),需要引入 redux-thunk 才可以

reducer

根据老的 state 和指定的 action,返回一个新的 state
不能修改老的 state

store

redux 最核心的管理对象
内部管理着: statereducer
提供方法: getState(),dispatch(action),subscribe(listener)

redux 工作流程


使用 redux 及相关库编码

需要引入的库:

  • redux
  • react-redux
  • redux-thunk
  • redux-devtools-extension(这个只在开发时需要)

redux 文件夹:

  • action-types.js
  • actions.js
  • reducers.js
  • store.js

组件分 2 类:

ui 组件(components): 不使用 redux 相关 PAI
容器组件(containers): 使用 redux 相关 API