我想创建一个具有 mobx 可观察和计算属性的对象的深拷贝。
目标是为本地编辑创建副本项目,可以提交或丢弃。
我已经找到了这种行为的一个例子,但它来自 mobx-state-tree:
如何在 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/