You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compose your React provider components to avoid boilerplates.
Install
npm i compose-providers
Usage
Assume you're using serveral libraries that requires using their provider components like:
react-error-boundary
react-intl
react-query
react-router
and you have to nest them around your app to get everything work
render(<ErrorBoundary><QueryClientProviderclient={queryClient}><IntlProviderlocale={locale}messages={messages}><BrowserRouter>{/** your app */}</BrowserRouter></IntlProvider></QueryClientProvider></ErrorBoundary>,)
With compose-providers you can compose those providers into one component so that you get rid of all those boilerplates.
import{composeProviders}from"compose-providers"constAppContainer=composeProviders([ErrorBoundary,// You won't be unfamiliar if you have configured tools like babel/eslint[QueryClientProvider,{client: queryClient,},],[IntlProvider,{
locale,
messages,},],BrowserRouter,])render(<AppContainer>{/** your app */}</AppContainer>)
This is especiall useful when you are writing tests and need to combine different providers as wrappers to get your component work: