0
这是代码:Mobx调用操作上计算财产
@computed
get user() {
if(!this.hasValidated)
this.reloadUserData();
return this.userData;
}
@action
reloadUserData() {
return new Promise(function(ok, err) {
if(!window.localStorage['atoken'])
err({id:24, detail:'User havn\'t logged in.'});
if(!window.localStorage['aprofile'])
apicall.get('user/detail').then((data)=>{
this.setProfile(data.data.content);
ok(true);
}).catch((derr)=>{
err({id:20, detail:derr});
});
else{
this.userData=JSON.parse(window.localStorage['aprofile']);
}
}.bind(this));
}
左右,主要目标是,当配置文件数据尚未经过验证,我们会从服务器重新获取它,然后,而等待数据发生变化,我们将为他们提供localstorage中的缓存值。
Anddd ....我的问题是,为什么它给我一个'计算值不能调用动作功能'的东西?
谢谢! :D
我认为[lazyObservable](https://github.com/mobxjs/mobx-utils#lazyobservable)最合适。但是当它改变另一个可观察的时候,它会触发其他组件的更新吗? – Chris