在React Components之外访问MobX状态?

时间:2017-05-31 16:48:34

标签: reactjs mobx mobx-react

我正在使用MobX商店将一些用户身份验证数据作为可观察对象。我想访问一些我希望在带有组件的inject / observer模式之外运行的函数的数据。那是明智的吗?

例如,身份验证功能如下:

function authMe() { ...access mobx data here to perform conditional logic}

1 个答案:

答案 0 :(得分:0)

我同意user1628461,但如果您的应用程序增长,重复传递商店作为参数可能会有问题。

您有可能首先初始化您的商店,然后在初始化您的帮助程序类时将其作为参数传递。 这样,您可以保存对商店及其可观察对象的引用,并在需要时访问它。见例:

App.jsx

import Store from './store.jsx'
import Helper from './helper.jsx'

const myStore = new Store();
const myHelper = new Helper(myStore);

myHelper.doSomething();

helper.jsx

export default class Helper {

  constructor(store){
    this.store = store;
  }

  doSomething() {
    // do something with the store
    this.store.useAction();
    this.store.anObservable = 'modified';
  }
}