javascript - MobX Observables 和 RxJS 有什么关系吗?
问题描述
标题几乎是自我解释的。我找不到任何关于它的信息。Angular 在幕后使用 RxJs 可观察对象,特别是在 React 和 MobX 中发生的情况是一样的吗?
解决方案
从我在 MobX 源代码中看到的内容来看,没有太多重叠。它们都不相互使用,也不具有共同的依赖关系。
MobX 中对 Observable 的解释似乎是对象、数组、地图等都被包裹了一个 Proxy 对象来跟踪和通知属性的变化。这用于通过应用程序传达状态更改,而对 vanilla javascript 类型的更改相对较少(这可能是他们所说的“透明”)。虽然这些类型可能是可观察的(如在动词中),但它们不是由 ReactiveX 定义的 Observables的实现。
另一方面,RxJS 提供了一个全新的,有些人会说是巨大的 API,用于修改由不一定代表 vanilla javascript 类型的抽象 Observable 类型生成的所谓“通知”。代替直接强制更改对象,由可管道运算符组成的“LINQ-ish”语言用于表达执行流程。在许多方面,RxJS 可以被视为 JavaScript 的语言扩展,以支持Observable 合约中定义的响应式编程。
虽然有一个重叠,那就是“MobX”声称是一个用于
透明地应用函数式反应式编程
RxJS 也提供响应式编程,但它绝对不是透明的。
推荐阅读
- java - Java - 使用在同一台机器的不同端口运行的 Rest 服务的最佳方式是什么?
- python - Multiindex 中的计算列
- regex - 正则表达式将名称拆分为名字/中间名和姓氏
- angular - Angular 服务装饰器提供在延迟加载的根效果
- c# - 从 PrintPreviewDialog 设置文档的 DocumentName
- javascript - 博主的 javascript url 重定向问题
- stata - 由许多不同的组生成变量
- django - 如何在将 Django 作为后端的同时在反应组件中添加 csrf_token?
- r - 在 ggplot2 热图中添加分组
- java - How can I get a copy of a ArrayList
() object instad of a refrence;