[发财图床]Mobx升级v6引bug

140 阅读1分钟

前言

一直用Mobx v5,近期升级了v6之后网页全噶了,后来查询文档和自己实验后发现,需要增加一个makeAutoObservable(this),属于是新特性,因此发上来给升级后发现相同问题的小伙伴避坑

旧版代码

原代码很长,这里简化了一下用于演示

class Store {
  @observable isLogin: boolean = false;
  @observable isLoading: boolean = false;

  @action setIsLogin(isLogin: boolean) {
    this.isLogin = isLogin;
  };
}

export default Store;

新版代码

v6的官方文档说不推荐装饰器写法了,因此我也不再使用装饰器写法,大🔥儿们都喜欢哪种写法

class Store {
  constructor() {
    makeAutoObservable(this);
  }

  isLogin: boolean = false;
  isLoading: boolean = false;

  setIsLogin = (isLogin: boolean) => {
    this.isLogin = isLogin;
  };
}

export default Store;

后记

如果大🔥儿们有不同的做法欢迎留言告诉我~