最近我听到大家都在谈论mobx,我已经在生产的React Native应用程序中使用过(使用)Redux。
我只是想看看是否有人对这两者都有经验,并且可以建议每个人比其他人更有优势。
答案 0 :(得分:18)
我会粘贴他们的方法摘要I wrote in a Reddit comment:
Redux深受功能编程原则的影响:
MobX受面向对象编程和反应式编程原则的影响:
对于更深入的比较,我强烈推荐来自ReactConf 2017的Preethi Kasireddy的演讲MobX vs Redux: Comparing the Opposing Paradigms和Robin Wieruch的文章Redux or MobX: An attempt to dissolve the confusion。我也有一个number of other comparisons collected in my React/Redux links list。
答案 1 :(得分:7)
MobX和Redux尝试使用不同的方法解决类似的问题。主要目标是; javascript应用程序中的状态管理。
这里的核心问题是您的主要数据源和用户界面之间的信息的有效和最佳同步,通过您之间的任何层和传输机制。
@saiki link已经编写了一个很好的比较分析,内容丰富,可以帮助您了解使用MobX与Redux编写代码时的代码。
MobX采用了一种通常称为声明式MVVM的方法:
Redux包含函数式编程和引用透明性:
State是一个普通的javascript对象。你永远不会直接改变它,而是通过纯函数在应用程序中发生某些事情(导致动作调度)时导出一个新的更新状态。
有关详细信息,请参阅此示例byExample