return { type : "ADD_TODO", text }};dispatch(addTodo('test'));异步 action 的出现主要是解决普通的 action 无法执行一些异步逻辑的问题...createStore 仅仅支持传入一个 reducer 函数, 但是在实际中随着业务复杂度增加, 状态会变的越来越多, 虽然可以通过一个 reducer 都进行管理, 但会使得 reducer 变的过于冗长.....store, dispatch, } }}可以看到 applyMiddleware 的核心是改写了 dispatch 方法, 使用链式调用(compose)方式逐一执行中间件函数,...当然, 现在官方已经开始推荐使用 redux-toolkit, 他是基于 Redux 的最佳实践, 简化了 Redux 的编写调用, 他采用了函数式、柯里化等编程思维, 具体差异可以参考官方说明....没有Dispatcher的概念State不可以直接改变由reducer执行状态更新可以使用middleware来处理异步