|
问题:react项目中,使用mobx,添加了computed后,报如下错误:
Uncaught Error: [mobx] Cycle detected in computation UserStore@1.user: function () { initializeInstance(this); return this[prop]; }代码如下: @observable user = {}
@observable isLogin = false;
token = ""
@computed get user() {
if(sessionStorage.getItem("user")){
return JSON.parse(sessionStorage.getItem("user"))
}
return {};
}
set user(data) {
sessionStorage.setItem("user",JSON.stringify(data))
}原因:Cycle detected in computation,即计算中检测到的循环 详解:https://zhuanlan.zhihu.com/p/157176365,总结就是不能同时对一个属性使用@observable,又使用@computed。 解决方案: 将@observable装饰删除即可 |
|
|