Mobx商店:
包含类型为person的对象数组,Person类具有嵌套数组,其他类方法(假设我们没有ID,因此我们不创建Map)
@observable persons: Person[] = []
@observable selectedPerson: Person;
@action setSelectedPerson(person) {
//How to clone person from list of persons as observable object ?
// tried person.find() etc did't work
// if person.deleteAddress() is called change is not detected in UI.
}
答案 0 :(得分:0)
我已尝试复制您的案例https://codesandbox.io/s/httpsstackoverflowcomquestions63363594-3eisd?file=/src/App.js(请尝试在下一次自己提供此类示例的情况下),但无法实现这种情况。
只要做这个事情
@action setSelectedPerson(person) {
this.selectedPerson = person;
}
应该可以解决问题。您不需要克隆该对象,只需基本设置对其的引用。一切将立即可用。我可以假设一件事,您忘记将人address
标记为observable