@devloops/react-native-variant
Version:
react-native material ui library
30 lines (24 loc) • 632 B
Flow
import {useEffect, useState} from 'react';
import {Dimensions, ScaledSize} from 'react-native';
const window = Dimensions.get('window');
const screen = Dimensions.get('screen');
export default function useDimensions() {
const [dimensions, setDimensions] = useState({
window,
screen,
});
const onChange = ({
window,
screen,
}: {
window: ScaledSize;
screen: ScaledSize;
}) => {
setDimensions({window, screen});
};
useEffect(() => {
Dimensions.addEventListener('change', onChange);
return () => Dimensions.removeEventListener('change', onChange);
}, []);
return dimensions;
}