生态 - React-redux - 图1
官网连接:

  • Redux 中文官网

    知识点

    问:中间件?(实际上应用了:函数柯里化)
    1. // 第一层在 compose 中被执行
    2. function logMiddleware() {
    3. // 第二层在 reduce 中被执行
    4. return next => {
    5. // 返回增强后的 dispatch
    6. return action => {
    7. const { type } = action;
    8. console.log('执行一次 action:', type);
    9. return next(action);
    10. }
    11. }
    12. }

问:为什么 React-Redux 采用 subscription 订阅器进行订阅,而不是直接采用 **store.subscribe**呢?

  1. state 改变,Provider 不能直接下发更新,若是直接下发更新,那这个更新就是整个应用层级上的。
    若需要 state 的组件,做了一些性能优化的策略,那么该更新的组件没更新,不该更新的组件反而被更新了。
  2. 父 Subscription -> 子 Subscription 这种模式,可逐层管理 connect 的派发状态,不会因为 state 的改变而导致更新混乱。