本章的重点不在redux,在于什么时候时候redux-thunk,对于中间件的解释也不用,毕竟这玩意主要是
它提供的是位于 action 被发起之后,到达 reducer 之前的扩展点,每一个moddleware会传入两个参数,第一个是dispatch,第二个是getstate
基于这个,我们再结合下redux-thunk的代码思路:
判定传入的是一个对象还是函数,如果是函数,则直接延迟处理,运算后得出一个对象在传入,如果是一个对象则直接传入
这样子的话,如果我们直接运算得出一个对象,再disptach出去,不就好了嘛?为啥要在乎一个是否对象,这样还有啥用?
带着这个问题,找到了下面的回答
This was the motivation for finding a way to “legitimize” this pattern of providing dispatch to a helper function, and help Redux “see” such asynchronous action creators as a special case of normal action creators rather than totally different functions.
对这段话的解析,我的想法是如果是一段经常使用的,比如一个程序有多个用户登录,
而我们可以将用户登录抽离出来,这样用户登录就只需要调用一个方法,而我们使用
reducer的中间件,更多的时候是需要解决传入抽离出来的方法的参数问题,防止导
入的时候传入的参数有问题,所以还是抽出来使用的。不一定需要使用到redux-thunk。
按照解释,更多的还是规范当用户的传入行为不规范的时候
更多的只是自己想法,原来的回答在下面,这只是我在2021-02-16的看法,我感觉后面我会有更多的看法