Skip to content

Instantly share code, notes, and snippets.

@ayoola-solomon
Forked from thehappybug/AppContext.tsx
Created October 11, 2018 15:45
Show Gist options
  • Save ayoola-solomon/d7853fd9731e6be147c23b4801f49d14 to your computer and use it in GitHub Desktop.
Save ayoola-solomon/d7853fd9731e6be147c23b4801f49d14 to your computer and use it in GitHub Desktop.
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
export function withAppContext<
P extends { appContext?: AppContextInterface },
R = Omit<P, 'appContext'>
>(
Component: React.ComponentClass<P> | React.StatelessComponent<P>
): React.SFC<R> {
return function BoundComponent(props: R) {
return (
<AppContextConsumer>
{value => <Component {...props} appContext={value} />}
</AppContextConsumer>
);
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment