0
에 중첩 된 객체를 추적 할 수 있습니다. 이 객체를 MobX 저장소에서 볼 수 있어야합니다 (아래 정의 할 속성). 방법의 내가 API 호출을 통해로드이 인 myObject를 유지하자 MobX 저장소
@observer
class App extends Component {
store = new Store();
componentWillMount() {
this.store.load();
}
render() {
return (
<div>
{this.store.fieldA && <p>{this.store.fieldA.details}</p>}
{this.store.fieldB && <p>{this.store.fieldB.details}</p>}
</div>
);
}
}
내가 MobX가 반응을 이해하려고 노력
this page를 읽을 수 있지만 아직 명확한 아이디어를 얻을하지 않았다 : 나는 가게에서 두 개의 필드를 읽고 간단한 반작용 구성 요소를 가지고있다. 특히, 아래의 4 개 매장 중 어느 것이 작동 할 것이며, 그 이유는 무엇입니까?
class Store1 = {
@observable myObject = {};
@action setMyObject = object => {
this.myObject = object;
}
load =() => someAsyncStuff().then(this.setMyObject);
}
2/
1/
class Store2 = {
@observable myObject = {};
@action setMyObject = object => {
this.myObject.fieldA = object.fieldA;
this.myObject.fieldB = object.fieldB;
}
load =() => someAsyncStuff().then(this.setMyObject);
}
3/
class Store3 = {
@observable myObject = { fieldA: {}, fieldB: {} };
@action setMyObject = object => {
this.myObject = object;
}
load =() => someAsyncStuff().then(this.setMyObject);
}
4/
class Store4 = {
@observable myObject = { fieldA: {}, fieldB: {} };
@action setMyObject = object => {
this.myObject.fieldA = object.fieldA;
this.myObject.fieldB = object.fieldB;
}
load =() => someAsyncStuff().then(this.setMyObject);
}