Reactjs mobx中的树结构再水化问题仍然存在

Reactjs mobx中的树结构再水化问题仍然存在,reactjs,mobx,mobx-persist,Reactjs,Mobx,Mobx Persist,我遇到了一个存储问题,该存储包含由TreeNode对象组成的树数据结构。我正在使用以下库: 问题是,实例作为对象而不是树节点被水合。我的猜测是(在阅读之后),我不能在类本身中使用类定义来持久化,但我不确定这是否真的是原因 这是我的TreeNode课程: export default class TreeNode { @persist id = Math.random(); @persist @observable title = "Root"; @persist @o

我遇到了一个存储问题,该存储包含由TreeNode对象组成的树数据结构。我正在使用以下库:

问题是,实例作为对象而不是树节点被水合。我的猜测是(在阅读之后),我不能在类本身中使用类定义来持久化,但我不确定这是否真的是原因

这是我的TreeNode课程:

export default class TreeNode {

    @persist id = Math.random();
    @persist @observable title = "Root";
    @persist @observable collapsed = false; // if node should be shown opened
    @persist('list', TreeNode) @observable childNodes  = []; // <- should this work?
    ...
导出默认类树节点{
@persist id=Math.random();
@persist@observable title=“Root”;
@persist@observable collapsed=false;//如果节点应该显示为打开状态

@persist('list',TreeNode)@observable childNodes=[];//我认为问题在于
TreeNode
类是不可序列化的,并且认为
Mobx
具有
@serializable
装饰器。由于自引用装饰器在Babel 5.x和Typescript中工作,因此您可能可以执行以下操作:

@persist@serializable(list(object(TreeNode))@observable-childNodes=[];

或者如果没有
@persist
,我还没有测试