在 Redux 中, reducer 必须是一个纯函数, 不能有任何的副作用, 当然也不支持异步逻辑, 大概长下面这样.const reducer = (state = initialState, action...函数只能接收纯对象作为参数, 如果要触 action 是 Promise、Observable、thunk 或者其他类型, 需要引入对应的中间件来进行处理, 函数的执行流程大致如下图片function...const outerSubscribe = subscribe // 对subscribe函数的引用 return { // observer是个对象, 必须包含next函数...中间件可以进行各种异步操作、日志记录等等, 比如说用的最多的中间件应该就是 redux-thunk, 这是与 Flux 的重要区别之一....组件可以有多个Store有唯一的DispatcherState是可变的, 未做保护在Store中执行状态更新不支持异步操作Redux单向数据流函数式编程Flux架构的具体实现无技术栈限制只有一个Store