2017-11-24 6 views
2

mobx에서 관찰 가능하고 계산 된 속성을 가진 개체의 전체 복사본을 만들고 싶습니다.관찰 가능 항목과 계산 항목이있는 mobx 클래스의 전체 복사본은 어떻게 만듭니 까?

목표는 로컬 편집을 위해 커밋되거나 버려 질 수있는 복사 항목을 만드는 것입니다.

나는이 문제의 예를 발견했습니다하지만 mobx 상태 트리에서입니다 :

enter image description here

가 어떻게 mobx에서 같은 동작을 얻을 수 있습니까?

답변

1

mobx-utils 패키지의 createViewModel을 사용할 수 있습니다.

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();