Skip to content

Instantly share code, notes, and snippets.

@alexvcasillas
Last active March 13, 2017 08:23
Show Gist options
  • Save alexvcasillas/4ebc9cdbd4e5b508f4d8bce52e7cb3a0 to your computer and use it in GitHub Desktop.
Save alexvcasillas/4ebc9cdbd4e5b508f4d8bce52e7cb3a0 to your computer and use it in GitHub Desktop.
Language Store in MobX
import { observable, computed, action, reaction } from 'mobx';
import esES from '../language/i18n/es';
import enUS from '../language/i18n/en';
export default class LanguageStore {
@observable language;
@computed get resource() {
switch (this.language) {
case 'en':
return enUS;
break;
case 'es':
return esES;
break;
default:
return enUS;
break;
}
}
constructor(language) {
// Set the Initial State of Language Observable
this.language = language;
}
@action('Change language to')
changeLanguageTo(language) {
this.language = language;
}
@computed get currentLanguage() {
return this.language;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment