Я знаю, что MobX может обнаружить, когда изменяется свойство объекта (в нашем случае myData.name
), но как MobX узнает, что User
компонент зависит от myData.name
?
class MyData {
@observable name = "John"
}
@observer
class User extends Component {
render() {
// here, User depends on myData.name, but how MobX know??
let { name } = this.props.myData;
return <div>{name}</div>
}
}
let myData = new MyData();
ReactDOM.render(<User myData={myData} />, document.getElementById('root'));
// this triggers User component to refresh, but how does MobX know User
// component depends on MyData.user?
setTimeout(function(){
myData.name = "Peter";
}, 2000)