Skip to content

Instantly share code, notes, and snippets.

@mmollaverdi
Created August 30, 2016 07:21
Show Gist options
  • Save mmollaverdi/044092bec5f5be357dcfd854665ea209 to your computer and use it in GitHub Desktop.
Save mmollaverdi/044092bec5f5be357dcfd854665ea209 to your computer and use it in GitHub Desktop.
const stateUpdaterProvider = stateTransformers => Component => {
class StateUpdaterProvider extends React.Component {
getChildContext() {
return stateTransformers;
}
render() {
return <Component {...this.props} />;
}
}
const childContextTypes = Object.keys(stateTransformers)
.map(key => ({ key: stateTransformers[key] })
.reduce((acc, current) => ({...acc, ...current}), {});
StateUpdaterProvider.childContextTypes = childContextTypes;
return StateUpdaterProvider;
}
module.exports = stateUpdaterProvider;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment