javascript - 如何使用可观察值和计算值创建 mobx 类的深拷贝?

标签 javascript mobx

我想创建一个具有 mobx 可观察和计算属性的对象的深拷贝。

目标是为本地编辑创建副本项目,可以提交或丢弃。

我已经找到了这种行为的一个例子,但它来自 mobx-state-tree:

enter image description here

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

最佳答案

您可以使用 createViewModel来自 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();

关于javascript - 如何使用可观察值和计算值创建 mobx 类的深拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47481279/

相关文章:

reactjs - React Stateless Function 组件出现 TypeScript 编译器错误

reactjs - 由于保护,Mobx-state-tree 操作失败

javascript - 如何在调用需要该文件之一的其他 js 文件之前加载动态添加的文件

javascript - 无法使用innerHTML

java - Worklight适配器它不是一个函数,它是 "object"。错误

javascript - 我可以强制 jQuery 使用 Sizzle 来评估选择器而不使用非标准选择器吗?

flutter - 我需要在Dart中放置mobx的 `autorun`实例吗?

javascript - 使用 babel 时 Nodemon 在保存时运行多次

javascript - CSS 不适用于组件

reactjs - 为什么 mobx-react 观察者会破坏 react-router-dom navlink 事件类?