异步行为与异步流程
2019-08-19 本文已影响0人
钢笔先生
Time: 2019-08-19
如果没有中间件,
redux
的store
只支持同步数据流。这是默认的createStore()
支持的功能。
所以一定是需要用中间件来扩展store
的功能,使用中间件的时机就是在createStore()
时,用上applyMiddleware()
。
这不是必须的方式,但是是很方便表达异步流程的方式。
异步中间件,如redux-thunk
和redux-promise
将store
的dispatch
包装起来,并且允许我们分发除了行为以外的东西,比如函数或者Promise
。
用到的任何中间件都可以拦截分发的内容,同时也可以继续分发行为到下一个中间件,像一个链式调用一样。比如Promise中间件能够拦截Promise,然后异步地分发一对开始/结束行为。
需要注意的是,链上中间件的末尾必须要分发纯的对象型的行为,这是同步数据流用到的方式,也是用于更新state
的方法。
END.