在“ mobx状态树”中是否始终需要“根存储”?

问题描述

在mobx-state-tree中,如果要使用对对象的“引用”,则必须位于同一“树”下。如果没有包含所有内容的根存储,这将很难执行任何操作。

例如,假设我从数据库中检索了“事物”列表。我有一个“ Thing”模型,因此我将数据转换为Thing模型实例的列表。然后,我想编辑我的东西,因此我创建了一个ThingEditor组件,该组件需要对该事物的引用以及它本身的某种状态。因此,我为“ ThingEditor”定义了一个模型,其中包括对正在编辑的Thing的“引用”。

问题是:您只能使用“引用”引用同一mst“树”中已经存在的实例! 因此,我必须创建某种“根存储”,其中包含所有Thing实例以及ThingEditor实例!这对于小型应用程序来说很好,但是如果应用程序变大,那么将诸如编辑器组件的状态之类的内容保存在中央根存储中就变得很疯狂。我希望编辑器组件的状态归该组件所有。

我的问题是这些

我错过了什么吗? 我做错了吗? 我应该只对持久性数据使用mst,而不对编辑器组件的瞬时内部状态使用吗? 有没有人用mst构建一个复杂的应用程序? 您是否将mst用于瞬态(不可持久)组件状态? “引用”不是将编辑器连接到Thing的正确方法吗? 您可以在不使用中央“根存储”的情况下制作大型应用程序吗? 随着应用变得庞大和复杂,mst会成为问题吗?还是会使事情变得更好?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)