Javascript 我如何创建一个具有可观察和可计算的mobx类的深度副本?

Javascript 我如何创建一个具有可观察和可计算的mobx类的深度副本?,javascript,mobx,Javascript,Mobx,我想创建一个具有mobx可观察和计算属性的对象的深度副本 目标是为本地编辑创建可提交或放弃的复制项 我发现了这种行为的一个例子,但它来自mobx状态树: 如何在mobx中实现相同的行为?您可以使用mobx utils包中的 示例 class Todo { @observable firstName = "Foo"; @observable lastName = "Bar"; @computed get fullName() { return `${this.firstNam

我想创建一个具有mobx可观察和计算属性的对象的深度副本

目标是为本地编辑创建可提交或放弃的复制项

我发现了这种行为的一个例子,但它来自mobx状态树:

如何在mobx中实现相同的行为?

您可以使用
mobx utils
包中的

示例

class Todo {
  @observable firstName = "Foo";
  @observable lastName = "Bar";
  @computed get fullName() {
    return `${this.firstName} ${this.lastName}`;
  }
}

const todo = new Todo();
const todoCopy = createViewModel(todo);

todoCopy.firstName = "Baz";

// ...

// Submit the changes to the original todo
todoCopy.submit();
OP要求提供“深度副本”
createViewModel
创建浅层伪拷贝(更改跟踪包装器)