Skip to content

Instantly share code, notes, and snippets.

@cezarneaga
Forked from thehappybug/AppContext.tsx
Created March 23, 2020 10:41
Show Gist options
  • Save cezarneaga/1713a703b7639ece538f35160b4467b0 to your computer and use it in GitHub Desktop.
Save cezarneaga/1713a703b7639ece538f35160b4467b0 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