官网连接:
- Redux 中文官网
知识点
问:中间件?(实际上应用了:函数柯里化)// 第一层在 compose 中被执行
function logMiddleware() {
// 第二层在 reduce 中被执行
return next => {
// 返回增强后的 dispatch
return action => {
const { type } = action;
console.log('执行一次 action:', type);
return next(action);
}
}
}
问:为什么 React-Redux 采用 subscription 订阅器进行订阅,而不是直接采用 **store.subscribe**
呢?
- state 改变,Provider 不能直接下发更新,若是直接下发更新,那这个更新就是整个应用层级上的。
若需要 state 的组件,做了一些性能优化的策略,那么该更新的组件没更新,不该更新的组件反而被更新了。 - 父 Subscription -> 子 Subscription 这种模式,可逐层管理 connect 的派发状态,不会因为 state 的改变而导致更新混乱。