Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
906 B · 32 lines
TSX
123456789101112131415161718192021222324252627282930313233import { useCallback, useState } from "react";import { LayoutChangeEvent } from "react-native";
export function useOuterAndInnerDimensions() { const [outerDimensions, setOuterDimensions] = useState({ width: 0, height: 0, }); const [innerDimensions, setInnerDimensions] = useState({ width: 0, height: 0, });
const onOuterLayout = useCallback((event: LayoutChangeEvent) => { const { width, height } = event.nativeEvent.layout; setOuterDimensions({ width, height }); }, []);
const onInnerLayout = useCallback((event: LayoutChangeEvent) => { const { width, height } = event.nativeEvent.layout; setInnerDimensions({ width, height }); }, []);
return { outerWidth: outerDimensions.width, outerHeight: outerDimensions.height, innerWidth: innerDimensions.width, innerHeight: innerDimensions.height, onOuterLayout, onInnerLayout, };}