javascript - MobX Observables 与 RxJS 有什么关系吗?

标签 javascript angular reactjs rxjs mobx

标题几乎是不言自明的。我找不到任何关于它的信息。 Angular 在幕后使用 RxJs observables 在 React 和 MobX 中是否也是如此?

最佳答案

从我在 MobX 源代码中看到的,没有太多重叠。它们既不相互使用也不具有共同的依赖关系。

MobX 中对 Observable 的解释似乎是将对象、数组、 map 等包裹在一个 Proxy 对象中,以跟踪并收到属性变化的通知。这用于通过应用程序传达状态更改,同时对 vanilla javascript 类型的更改相对较少(这可能是它们所说的“透明”的意思)。虽然这些类型可能是可观察的(如在动词中),但它们不是 Observables defined by ReactiveX 的实现。 .

另一方面,RxJS 提供了一个全新的,有些人会说是巨大的 API,用于修改由抽象 Observable 类型生成的所谓“通知”,这些类型不一定代表 vanilla javascript 类型。不是直接强制更改对象,而是使用由可管道运算符组成的“LINQ-ish”语言来表达执行流程。在许多方面,RxJS 可以看作是 JavaScript 的语言扩展,以启用 Reactive 编程 as defined in the Observable contract .

虽然有一个重叠,那就是“MobX”声称是一个用于

transparently applying functional reactive programming

RxJS 也提供响应式编程,但它绝对不是透明的。

关于javascript - MobX Observables 与 RxJS 有什么关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53707860/

相关文章:

javascript - 将焦点设置在 Angular 中父组件的子组件文本框上

javascript - 将 native 事件处理程序附加到 React 组件

javascript - 在 JavaScript 中渐进式读取二进制文件

javascript - 隐藏在导航栏中的下拉菜单

javascript - 删除警报框 - "Do you want to leave this site?"

javascript - 测试 react 组件(context.router - 未定义)

javascript - 在 React 中滚动到 DOM 元素

javascript - 使用 jQuery 删除 div 不适用于动态添加的 div

angular - 在网络应用程序中处理离线数据

angular - Ng4LoadingSpinner 5 秒后超时