redux的middleware

        上一篇博客我们讲到,react+redux的开发过程中与服务端进行异步交互的时候需要在middleware中进行,今天我们来讲讲如何写一个middleware。

redux的middleware

首先观察一下整个middleware的结构,一个普通方法callApi,一个柯里化的方法store,并行store是唯一暴露出去的方法。从这里我们便可以得知用户action后dispatch前进入一个名为store的方法中,继续往下:

redux的middleware

以进入这个middleware第一件事便是判断是否需要与服务端交互,如果不需要next(action),具体看上图中红色箭头。

redux的middleware

上图代码中可以看到,这个入口函数返回一个执行完callApi函数后得到的一个action,接下来去看看callApi函数到底做了什么

redux的middleware

可以很清楚的看到,callApi函数其实就是执行了一个fetch异步向服务端发送数据并获得响应的过程。

        看到这里整个middleware就很清晰了,整个middleware就是判断action是否需要异步请求服务器,如若需要则通过fetch(这里也可以用ajax),处理完数据后从新打包成一个action继续dispatch();如若不需要就直接继续dispatch()。


若还有什么不清楚的地方欢迎添加博主微信   594127951