나는 가게가 있습니다.()는 예를 들어
class MyView extends React.Component {
constructor() {
super();
this.state = {
value: MyStore.getValue()
};
}
을 그리고 변경 :
나는 그것을 할 수
userClick() {
this.setState({value: MyStore.changeValue('newValue')});
}
을 또는 상점에서 value
을 변경하고 방출 호출합니다.
render() {
const value = MyStore.value;
return (
<div>{value}</div>
)
}
을 그리고 변경 :
하지만 forceUpdate()
와 함께 할 수
userClick() {
MyStore.value = 'newValue';
this.forceUpdate();
}
왜 나쁜?
에
괜찮다 라이브 데모를 (이 상태를 필요로하지 않기 때문에, 기능적인 구성 요소를 사용하여)까지 boilds mobX으로
당신의 그 때 UI를 저장하고 업데이트 하시겠습니까? –
@ JohnF. 예,하지만'forceUpdate'로 더 쉬워 졌다고 생각합니다. 리스너 등을 추가 할 필요가 없습니다. – Nick
당신의 접근 방식은 효과적 일 것입니다 만,'render()'에서 항상'MyStore.value'를 사용하려면 로컬'state' 변수를 유지할 필요가 없습니다. 즉 render에서'state.value'를 사용하기로했다면, 첫 번째 접근 방식을 사용합니다. 여기서'MyStore'를 호출하여 값을 변경 한 다음 그에 맞게 setState를 호출합니다. – lux