MobX与MobX状态树

Joh*_*ohn 3 javascript reactjs mobx mobx-state-tree

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

问题可能太笼统了...

jay*_*rjo 12

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

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

MST 通过将单独的存储组织到交互式和交互节点的单个树中,从而开箱即用地支持所有上述(以及更多)功能。

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

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

  • 我也做到了!:D (2认同)

Nic*_*ins 9

是的,许多人使用“原版”MobX——它本身就具有巨大的价值。利用“可观察”状态的核心概念是 MobX 的杀手级特性。对我来说,将它与 React 一起使用,它使我能够在浏览器中无所畏惧地处理大量连接数据,而无需担心“刷新”问题或“计算值”问题。

“MST”的额外层只是增加了更多(有意见的)结构。(如果您喜欢被告知该做什么,那就太好了;)它更像是一个“Redux”风格的状态管理器,其中明确定义了状态转换,并且可以进行诸如时间旅行之类的事情。对我来说,MobX 本身解决了很多问题,我建议任何新手都应该坚持使用“原版”MobX,在你真正欣赏你从 MobX 本身获得的东西之前,不要考虑 MST。