1 Redux
- 集中式管理 react 应用中多个组件共享的状态和从后台获取的数据
- React-Redux 简化 redux
- Redux-thunk 实现 redux异步编程
- Redux-DevTools 实现 chrome中 redux调试
redux
redux-thunk
redux-saga
react-redux
redux-log 记录日志
Redux的工作流程
- Redux = reducer + flux
- Redux 所有数据都在 store中
- 纯函数指的是:给定固定的输入,就一定会有固定的输出,而且不会有任何副作用
- 中间件一定是 Redux的中间件,不是 react的中间件
- redux-devtools 也是 redux 的中间件
- 中间件:谁和谁的中间 action 和 store 中间
Components 组件
action 我要借书
store.dispatch
actionTypes 的拆分
actionCreator 统一创建 action
Store 图书管理员
Reduces 书籍的记事本
借的书
要换的书
使用 redux-thunk action 可以是个函数
中间件就是对 dispatch方法的封装和升级
最原始的 dispath 只接收对象,然后传递给 store
action 传递个 dispath 对象,直接传递给store
如果是 函数,先把函数执行结束
如果 action 传递的是函数,先让函数执行
根据参数的额不同,执行不同的事情
thunk 异步操作放到 action 里面操作
redux-saga 拆分 action 到一个单独的文件
react-redux
- connect 做链接,TodoList 链接 Store
export default connect()(TodoList)
export default connect(mapStateToProps, mapActionToprops)(TodoList)