通常情况下,action只是一个对象,不能包含异步操作,这导致了很多创建action的逻辑只能写在组件中,代码量较多也不便于复用,同时对该部分代码测试的时候也比较困难,组件的业务逻辑也不清晰,使用中间件了之后,可以通过actionCreator异步编写action,这样代码就会拆分到actionCreator中,可维护性大大提高,可以方便于测试、复用,同时actionCreator还集成了异步操作中不同的action派发机制,减少编码过程中的代码量
常见的异步库:
-
Redux-thunk ✅✅✅✅
-
Redux-saga ✅✅
-
Redux-effects
-
Redux-side-effects
-
Redux-loop
-
Redux-observable
-
…
基于Promise的异步库:
-
Redux-promise ✅
-
Redux-promises
-
Redux-simple-promise
-
Redux-promise-middleware