Skip to content

Instantly share code, notes, and snippets.

@Rieranthony
Forked from thehappybug/AppContext.tsx
Created April 23, 2019 16:50
Show Gist options
  • Select an option

  • Save Rieranthony/3d49139f9eb8142e70850c422f2b9525 to your computer and use it in GitHub Desktop.

Select an option

Save Rieranthony/3d49139f9eb8142e70850c422f2b9525 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