@fruits-chain/react-native-xiaoshu
Version:
React Native UI library
22 lines (20 loc) • 836 B
JavaScript
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