import React from 'react'; import hoistNonReactStatics from 'hoist-non-react-statics'; export const ThemeContext = React.createContext({ theme: 'light' }); export function withTheme(Component) { const ThemedComponent = props => ( <ThemeContext.Consumer> {contexts => <Component {...props} {...contexts} />} </ThemeContext.Consumer> ); hoistNonReactStatics(ThemedComponent, Component); return ThemedComponent; }