Javascript MobX-迁移到MobX v.6+后无法从undefined获取atom;

Javascript MobX-迁移到MobX v.6+后无法从undefined获取atom;,javascript,typescript,mobx,mobx-react,Javascript,Typescript,Mobx,Mobx React,我需要将mobxv.5迁移到支持react钩子的mobxv6+,但是在升级到mobxv6+后,我得到了这个错误[MobX]无法从未定义的中获取atom,我能够跟踪到当我想用onBecomeObserved创建惰性可观测时,出于某种原因,这会在上面抛出错误,但我无法找出原因 我使用MobX提供的inject将组件连接到存储区,这可能不再是一种好模式,但它是我如何从旧的MobX迁移的最快方式withTheme功能是主题系统的Material UI连接器 export function injecto

我需要将
mobxv.5
迁移到支持react钩子的
mobxv6+
,但是在升级到
mobxv6+
后,我得到了这个错误
[MobX]无法从未定义的
中获取atom,我能够跟踪到当我想用
onBecomeObserved
创建惰性可观测时,出于某种原因,这会在上面抛出错误,但我无法找出原因

我使用MobX提供的inject将组件连接到存储区,这可能不再是一种好模式,但它是我如何从旧的
MobX
迁移的最快方式
withTheme
功能是主题系统的
Material UI
连接器

export function injector<T>(target: T): T {
  return inject('data', 'view')(withTheme(target));
}

export function storeConnect<T extends IReactComponent>(target: T): T {
  return injector(observer(target));
}

运气好吗?
abstract class BaseProvider {
  @observable state = "NONE";

  constructor() {
    //this it throws error
    onBecomeObserved(this, "isLoading", this.loadData);
  }

  public abstract loadData(): void;

  @computed get isLoading() {
    return (this.state === "Loading");
  }
}

class Provider extends BaseProvider {
  constructor() {
    super();
    this.loadData = this.loadData.bind(this);
  }

  public loadData() {
    if (this.state !== "Loaded") {
      //some code
    }
  }
}