rematch 源码阅读

目录结构

1、dispatcher

完成对 dispatch 函数的改造,

通过遍历,effects、reducer 。对每个 diapatch.modelName.reducerName 或者  dispatch.modelName.efffectName 赋值一个函数

实际使用的dispatch函数内容

当 dispatch(modelName/efffectName)时,仅需要执行的时 effects 本身,其他当作正常 diapatch 执行代码即可

针对 efffect 类型的函数做的中间件处理

2、reduxStore.ts

对单个 model 的 reducer 进行合并

对所有 model 的 reducer 进行再次合并


所以最终修改数据的都是 reducer 对应的 action。

本质完全依赖了 redux,在react 使用时,仍需要 react-redux 的帮助。总的来看只是 redux 冗余重复代码的优化方案,本质无原理上的大差异。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 组件通信 父组件与子组件通信 父组件将自己的状态传递给子组件,子组件当做属性来接收,当父组件更改自己状态的时候,子...
    千锋HTML5学院阅读 282评论 0 1
  • 传统MVC框架的缺陷 什么是MVC? V即View视图是指用户看到并与之交互的界面。 M即Model模型是管理数据...
    周南安阅读 367评论 0 0
  • Dva 源码解析 作者:杨光dva官网源码解析 隐藏在 package.json 里的秘密 随便哪个 dva 的项...
    席小超阅读 364评论 0 0
  • 无图,纯分析,慎入 Mirror 是一个 react、redux 及 react-router 的封装。有几个显著...
    不是鱿鱼阅读 3,572评论 0 0
  • 使用redux+react已有一段时间,刚开始使用并未深入了解其源码,最近静下心细读源码,感触颇深~ 本文主要包含...
    字节跳动技术团队阅读 1,584评论 0 5