【发布时间】:2017-09-04 23:50:36
【问题描述】:
最近我听到每个人都在谈论 mobx,我在生产 React Native 应用程序中使用(正在使用)Redux。
我只是想看看是否有人对这两种方法都有经验,并且可以建议每个人在哪些方面比另一个更有优势。
【问题讨论】:
标签: react-native react-redux immutable.js mobx-react
最近我听到每个人都在谈论 mobx,我在生产 React Native 应用程序中使用(正在使用)Redux。
我只是想看看是否有人对这两种方法都有经验,并且可以建议每个人在哪些方面比另一个更有优势。
【问题讨论】:
标签: react-native react-redux immutable.js mobx-react
MobX 和 Redux 尝试使用不同的方法解决类似的问题。主要目标是; javascript 应用程序中的状态管理。
这里的核心问题是您的主要数据源和用户界面之间的信息的有效和最佳同步,通过您之间的任何层和传输机制。
@saiki link 已经编写了一个包含大量示例的出色对比分析,它可以帮助您了解使用 MobX 与 Redux 编写的代码会是什么样子。
MobX 采用一种通常称为声明式 MVVM 的方法:
Redux 包含函数式编程和引用透明性:
State 是一个普通的 javascript 对象。您永远不会直接对其进行变异,而是通过纯函数在应用程序中发生某些事情(导致动作分派)时派生一个新的更新状态。
更多细节你可以通过这个例子byExample
【讨论】:
我将粘贴他们的方法的摘要I wrote in a Reddit comment:
Redux 深受函数式编程原则的影响:
MobX 受面向对象编程和响应式编程原则的影响:
要进行更深入的比较,我强烈推荐 Preethi Kasireddy 的演讲 MobX vs Redux: Comparing the Opposing Paradigms 来自 ReactConf 2017,以及 Robin Wieruch 的文章 Redux or MobX: An attempt to dissolve the confusion。我还有一个number of other comparisons collected in my React/Redux links list。
【讨论】: