【困扰我好几天了!!!】对于redux-thunk和applymiddleware之间传递的dispatch我完全看不懂,希望大神来救救我【帖子内有详细问题截图】

#1


#2
  1. next包装只包action,跟dispatch没啥关系
  2. 下面有对dispatch的再赋值
#3

周末在家躺尸了两天,出来转转,看到帖子,我来解除你的困扰哈!
实质上dispatch后面被重新赋值了。前面let dispatch的定义只是说,我在用各个middleware构造dispatch的时候,给一个警告,不要调我。所以dispatch真正的值,应该是后面赋值后的函数,见下图。

看着能解除你的困扰,也不让自己那么颓废(继续躺尸),redux-thunk也友情回答一下

至于redux-thunk只是中间件的一种,if (typeof action === ‘function’)实质是对dispatch做了拦截,来执行我异步请求对应的函数就好,待我请求成功(或者失败)的时候,再去dispatch,这时候action就不是函数了,会执行next(), 直到去调用createStore产生的dispatch去执行reducers

#4

楼主如果觉得thunk不好理解的话,可以试试其他中间件,个人推荐sagas,action还是纯函数

#5

sagas比thunk还难理解,不谢。