Reactjs mobx中的树结构再水化问题仍然存在
我遇到了一个存储问题,该存储包含由TreeNode对象组成的树数据结构。我正在使用以下库: 问题是,实例作为对象而不是树节点被水合。我的猜测是(在阅读之后),我不能在类本身中使用类定义来持久化,但我不确定这是否真的是原因 这是我的TreeNode课程: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
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
,我还没有测试