1

我想自动获取如下用户数据,但在观察行出现错误:

未捕获的错误:[mobx] 不变式失败:无法从 [object Object] 获取原子

class AuthStore {

 @observable loggedIn = false;
 @observable userData;

  constructor() {
    observe(this, 'loggedIn', (change) => {
          if (change.loggedIn) {
            this.getUserData();
          }
    });
  }

  async getUserData() {
    const response = await ajax({
      url: '/users/me',
      method: 'GET'
    });
    const data = await response.json();
    //todo handle some errors here
    this.userData = data.user;
  }

}
4

1 回答 1

1

你已经解决了吗?如果没有,请尝试使用reaction而不是observe

reaction(
  () => this.loggedIn,
  loggedIn => loggedIn && this.getUserData()
)
于 2016-06-16T06:51:52.853 回答