Skip to content

Instantly share code, notes, and snippets.

@lmcgartland
Created December 21, 2017 02:41
Show Gist options
  • Save lmcgartland/82c866520cc2d306c7ff5d2c56152b17 to your computer and use it in GitHub Desktop.
Save lmcgartland/82c866520cc2d306c7ff5d2c56152b17 to your computer and use it in GitHub Desktop.
import React from 'react';
import { ApolloProvider } from 'react-apollo';
import { Provider } from 'react-redux';
import hoistNonReactStatic from 'hoist-non-react-statics';
export default apolloAndReduxProviderHOC = (WrappedComponent, store, client) => {
class Enhance extends React.Component {
render () {
return (
<Provider store={store}>
<ApolloProvider client={client}>
<WrappedComponent {...this.props} />
</ApolloProvider>
</Provider>
)
}
}
//Copies the static methods over to enhanced component
hoistNonReactStatic(Enhance, WrappedComponent)
return Enhance
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment