doubleyong
管理员
管理员
  • 最后登录2020-09-18
  • 发帖数890
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:154回复:0

[前端]【react】Uncaught Error: [mobx] Cycle detected in computation

楼主#
更多 发布于:2020-08-03 18:36
问题: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装饰删除即可
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号