import React from 'react'; import { Dimensions } from 'react-native'; import hoistNonReactStatics from 'hoist-non-react-statics'; export const DimensionsContext = React.createContext(Dimensions.get('window')); export function withDimensions(Component) { const DimensionsComponent = props => ( {contexts => } ); hoistNonReactStatics(DimensionsComponent, Component); return DimensionsComponent; } export const useDimensions = () => React.useContext(DimensionsContext); export const useOrientation = () => { const { width, height } = React.useContext(DimensionsContext); const isPortrait = height > width; return { isPortrait, isLandscape: !isPortrait }; };