import React, {FunctionComponent} from 'react'; import {Location, WindowLocation, NavigateFn} from '@reach/router'; import {Subtract} from 'utility-types'; export interface WithLocationProps { location: WindowLocation; navigate: NavigateFn; } const withLocation = ( Component: React.ComponentType ) => { const WithLocationComponent: FunctionComponent< Subtract > = props => { return ( {({location, navigate}) => { const allProps = { ...props, location, navigate }; return ; }} ); }; return WithLocationComponent; }; export default withLocation;