Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MobX与MobX状态树_Javascript_Reactjs_Mobx_Mobx State Tree - Fatal编程技术网

Javascript MobX与MobX状态树

Javascript MobX与MobX状态树,javascript,reactjs,mobx,mobx-state-tree,Javascript,Reactjs,Mobx,Mobx State Tree,为什么我应该使用MobX状态树而不是香草MobX?似乎每当我读到关于MobX的文章时,MST都会出现在同一个地方。有人真的只使用MobX吗 这个问题可能太笼统了……实际上,如果你仔细想想,MST或MobX状态树是一个非常具有描述性的名称 MobX速度很快,但不提供任何现成的组织结构,因此,集中式操作(如拍摄整个状态的快照、从快照恢复状态、自动同步分离存储、时间旅行或热重新加载)要么不可能,要么由开发人员支持 MST通过将单独的存储组织到一个由交互和交互节点组成的树中,支持所有上述(以及更多)开箱

为什么我应该使用MobX状态树而不是香草MobX?似乎每当我读到关于MobX的文章时,MST都会出现在同一个地方。有人真的只使用MobX吗

这个问题可能太笼统了……

实际上,如果你仔细想想,MST或MobX状态树是一个非常具有描述性的名称

MobX速度很快,但不提供任何现成的组织结构,因此,集中式操作(如拍摄整个状态的快照、从快照恢复状态、自动同步分离存储、时间旅行或热重新加载)要么不可能,要么由开发人员支持

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

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


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

我不打算进行冗长的比较

简而言之,MobX是一个非专用的util-lib,而MST是一个构建在MobX之上的固执己见的解决方案

如果您是MobX新手,只需使用MST即可。先熟悉它的概念,然后再决定第二个项目:)

Bare MobX非常灵活,可以非常有创意地使用。但你必须明白你在用它做什么。它有点像黑魔法,强大,但需要非常小心。

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


额外的“MST”层只是添加了更多(固执己见的)结构。(如果你喜欢别人告诉你该做什么,那就好了;)它更像是一个“Redux”式的状态管理器,在这里状态转换被明确定义,时间旅行之类的事情是可能的。对我来说,MobX本身解决了很多问题,我建议任何一个新手都应该坚持使用“香草”MobX,甚至不要考虑MST,直到你真正欣赏MobX本身带给你的东西。

我将MST用于react本机应用程序。MST引用对于定义数据模型也非常方便。我选择MST而不是mobx作为参考功能。

不完全回答这个问题,但是,我使用 我看不出有什么理由让复杂的怪物来管理国家


公平披露是我写的

这是一个非常广泛的问题,主要基于观点。MST的优点在于它非常固执己见,在构建数据结构时更难做出错误的决策。另一方面,MobX使您可以更自由地根据自己的需要对数据进行建模,并且开销较小,但创建可能导致麻烦的数据结构要容易得多。我认为找出你最喜欢什么的最简单的方法就是两种方法都试一下。对不起,我不小心投了反对票。任何人请投我一票。谢谢:我想你可以通过再次点击撤销它。对不起,它有5分钟的限制。我在5小时前投了反对票。如果你编辑(至少一封信)你自己的答案,那么我可以投赞成票而不是反对票。我也投了!:你是这个意思吗?(如果你是新来的,就用MST)你不是说就用MobX吗?