eddiewang
eddiewang

Reputation: 415

Access MobX state outside of React Components?

I'm using a MobX store to hold some user authentication data as an observable. I'd like to access some data for some functions I'd like to run outside of the inject/observer pattern with components. Is that wise to do?

For example an authenication function as so:

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

Upvotes: 5

Views: 3908

Answers (1)

Flavien Knuchel
Flavien Knuchel

Reputation: 21

I agree with user1628461, but if your application grows, it can be problematic to repeatedly pass the store as an argument.

A possibility you have is to first initialise your store, to then pass it as parameter when initialising your helper class. This way you can save a reference to the store, its observables, and access it when needed. See example:

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';
  }
}

Upvotes: 2

Related Questions