为什么我要使用MobX状态树而不是香草MobX?似乎每当我读到关于MobX的文章时,都会在同一个地方提到MST。有人真的只使用MobX吗?
可能太笼统了.
发布于 2019-03-18 06:29:58
实际上,MST或MobX状态树是一个非常描述性的名称,如果您考虑它。
MobX速度快,但不提供任何开箱即用的组织结构,因此集中操作,如捕捉整个状态的快照、从快照恢复状态、自动同步分离存储、时间移动或热重载等操作,都是不可能的,或者由开发人员自己来支持。
MST通过将单独的存储组织成一个由交互和交互节点组成的单一树,从而支持上述所有(以及更多)的开箱即用。
MST (mobx-状态树)的核心是活树的概念.树由可变的但受严格保护的对象组成,这些对象丰富了运行时类型信息。换句话说,每棵树都有一个形状(类型信息)和一个状态(数据)。从这棵活树,不变的,结构上的共享,快照自动生成。
然而,所有这些都需要付出一定的代价,而且总体上来说,MST要比纯MobX慢一些。因此,如果您不需要这些特性,可以毫不犹豫地只使用MobX。
发布于 2019-09-19 20:36:09
是的,许多人使用“香草”MobX --它本身就有着巨大的价值。利用“可观察”状态的核心概念是MobX的致命特性。对我来说,通过使用它以及React,它使我能够无所畏惧地处理浏览器中大量的连接数据,而不必担心“刷新”问题或“计算值”问题。
额外层的"MST“只是增加了更多的(固执己见)结构。(如果你喜欢被告知该做什么,那就好了;)它更像是一个"Redux"-style状态管理器,在这里状态转换是明确定义的,并且像时间旅行这样的事情是可能的。对我来说,MobX本身解决了许多问题,我建议任何新的人都应该坚持使用“香草”MobX,甚至在您真正欣赏MobX本身的好处之前,不要考虑MST。
发布于 2019-04-11 04:33:26
我不想做冗长的比较。
MobX是一个不固执己见的util,而MST是建立在MobX之上的固执己见的解决方案。
如果您是MobX新手,只需使用MST即可。先熟悉它的概念,然后再决定第二个项目:)
裸MobX非常灵活,可以非常创造性地使用。但你得明白你在用它做什么。有点像黑魔法,很强大,但需要非常小心。
https://stackoverflow.com/questions/55211949
复制相似问题