MobX与MobX状态树

时间:2019-03-17 21:08:13

标签: javascript reactjs mobx mobx-state-tree

为什么我应该在香草MobX上使用MobX状态树?好像我每次阅读有关MobX的文章时,都在同一个地方提到了MST。有人真的在单独使用 just MobX吗?

问题可能太笼统了...

4 个答案:

答案 0 :(得分:1)

实际上,如果您考虑一下MST或MobX状态树,则它是一个非常具有描述性的名称。

MobX速度很快,但是没有提供任何现成的组织结构,因此,集中化操作(例如,获取整个状态的快照,从快照中恢复状态,自动同步分离的存储,时间旅行或热重装)无法实现或由开发人员支持。

MST通过将单独的存储组织到一个交互和相互作用的节点的单个树中,开箱即用地支持所有上述(和更多)。

  

MST(mobx状态树)的中心是活树的概念。的   树由可变但受严格保护的对象组成,并富含   运行时类型信息。换句话说,每棵树都有一个形状(类型   信息)和状态(数据)。从这棵活树上,一成不变,   在结构上共享,快照是自动生成的。

但是,所有这些都要付出一定的代价,而MST通常比纯MobX慢一些。因此,如果您不需要这些功能,请不要犹豫,只使用MobX。

答案 1 :(得分:1)

是的,许多人都使用“香草” MobX-它本身具有巨大的价值。利用“可观察”状态的核心概念是MobX的杀手级功能。对我来说,将它与React一起使用,使我能够毫不费力地处理浏览器中的大量连接数据,而不必担心“刷新”问题或“计算值”问题。

“ MST”的额外层仅添加了更多(带修饰)结构。 (如果您喜欢被告知该怎么做,那就太好了;)它更像是一种“ Redux”风格的状态管理器,其中明确定义了状态转换,并且可以进行时间旅行。对我来说,MobX本身可以解决很多问题,我建议任何新手都应该坚持“香草”的MobX,甚至在真正欣赏MobX本身的功能之前,都不要考虑MST。

答案 2 :(得分:0)

我不会进行冗长的比较。

bref,MobX是不受限制的util lib,而MST是基于MobX的自以为是的解决方案。

如果您不熟悉MobX,只需使用MST。首先适应它的概念,然后决定第二个项目:)

Bare MobX非常灵活,可以非常有创意地使用。但是您必须了解您在使用它做什么。有点像黑魔法,功能强大,但需要非常小心。

答案 3 :(得分:0)

我正在使用MST来响应本机应用程序。 MST引用对于定义数据模型也非常方便。我选择MST而非Mobx作为参考功能。