UNPKG

@fruits-chain/react-native-xiaoshu

Version:
22 lines (20 loc) 836 B
import { useState, useLayoutEffect } from 'react'; import { useWindowDimensions } from 'react-native'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; const useSafeHeight = function () { let { top = true, bottom = true } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; const insets = useSafeAreaInsets(); const insetTop = top ? insets.top : 0; const insetBottom = bottom ? insets.bottom : 0; const dimensionsWindow = useWindowDimensions(); const [height, setHeight] = useState(dimensionsWindow.height - insetTop - insetBottom); useLayoutEffect(() => { setHeight(dimensionsWindow.height - insetTop - insetBottom); }, [dimensionsWindow.height, insetTop, insetBottom]); return height; }; export default useSafeHeight; //# sourceMappingURL=useSafeHeight.js.map