import React, { Component, Ref } from 'react'; import hoistNonReactStatic from 'hoist-non-react-statics'; import CalendarContext from './Context'; function asCalendarConsumer( WrappedComponent: React.ComponentType ): React.ComponentClass { class CalendarConsumer extends Component { contentRef: any; saveRef = (r: Ref>) => { this.contentRef = r; }; render() { return ( {(context) => ( )} ); } } hoistNonReactStatic(CalendarConsumer, WrappedComponent); return CalendarConsumer as any; } export default asCalendarConsumer;