Skip to content

Instantly share code, notes, and snippets.

@johinsDev
Forked from stolinski/providerCompose.js
Created July 8, 2019 15:50
Show Gist options
  • Select an option

  • Save johinsDev/3caa81411ed9fe06dc1aa20c3ecfdd1e to your computer and use it in GitHub Desktop.

Select an option

Save johinsDev/3caa81411ed9fe06dc1aa20c3ecfdd1e to your computer and use it in GitHub Desktop.
ProviderComposer
function ProviderComposer({ contexts, children }) {
return contexts.reduceRight(
(kids, parent) =>
React.cloneElement(parent, {
children: kids,
}),
children
);
}
function ContextProvider({ children }) {
return (
<ProviderComposer
contexts={[<CheckoutProvider />, <LoginProvider />, <AlertProvider />]}
>
{children}
</ProviderComposer>
);
}
export { ContextProvider };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment