Skip to content

Instantly share code, notes, and snippets.

@ysfzrn
Created October 2, 2017 07:01
Show Gist options
  • Save ysfzrn/29ed860caaceede605f38360cc1c2cda to your computer and use it in GitHub Desktop.
Save ysfzrn/29ed860caaceede605f38360cc1c2cda to your computer and use it in GitHub Desktop.
import { Provider } from "mobx-react/native";
const SPECIAL_REACT_KEYS = { children: true, key: true, ref: true };
export default class MobxRnnProvider extends Provider {
props: {
store: Object
};
context: {
mobxStores: Object
};
getChildContext() {
const stores = {};
// inherit stores
const baseStores = this.context.mobxStores;
if (baseStores) {
for (let key in baseStores) {
stores[key] = baseStores[key];
}
}
// add own stores
for (let key in this.props.store) {
if (!SPECIAL_REACT_KEYS[key]) {
stores[key] = this.props.store[key];
}
}
return {
mobxStores: stores
};
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment