关于redux源码的一些理解

applyMiddleware代码的作用: 增强器通常都使用这样的模式,将store上某个函数的引用存下来,给这 个函数一个新的实现,但是在完成增强功能之后,还是要调用原有的函数, 保持原有的功能。

1: 将getState, dispatch整合出来

 2: 让每个中间件都有这两个方法

3: 组合出一个增强版的dispatch(让dispatch可以接收一个函数而不仅仅是一个对象)

function (action) { // 这就是增强后可以接收function 或者 object的主要代码
    if (typeof action === 'function') {
      return action(dispatch, getState, extraArgument);
    }
    //next为之前传入的store.dispatch,即改写前的dispatch
    return next(action);
};

 4: 返回一个新的包含增强dispatch的store对象

 

比较经典的redux源码解析文章

https://github.com/WisestCoder/blog/issues/1

https://juejin.im/post/5b035c0c51882565bd258f12

redux-devtools使用

https://juejin.im/post/5c0e08dae51d4504bc5e3e44

你可能感兴趣的:(关于redux源码的一些理解)