mobx

  • @observable 用来声明一个属性可以被监听

  • @observer 用来声明一个类中可以根据监听数据发生变化而发生变化

  • @inject("xx") 注入Provider中传入的属性到当前类中,可以在this.props中访问到

  • @computed get func 用来创建一个计算属性

    • 该计算属性的set方法可以用来做逆向推导其他属性
  • autorun(fn,{onError:func}) 会对在方法体内使用的监听属性进行监听,当属性更新是会调用该传入的函数(在项目启动第一次也会更新) 其方法可以用于打印日志或者更新UI ,返回值是一个可以取消监听的方法 再次调用即取消该监听器.onError在fn抛出异常时调用

  • @action 是声明的函数可以修改监听属性 ,@action.bound可以绑定当前函数的调用者,使其永远是正确的 可以将函数直接复制给其他函数使用,如按钮,省去了在声明一个函数的麻烦

    • 在action中使用异步修改监听属性时需要用runInAction(fn),在fn中修改

你可能感兴趣的:(mobx)