728x90
반응형
기존에 portrait mode / landscape mode 를 확인하기위해
const useScreenDimensions = () => {
const [screenData, setScreenData] = useState(Dimensions.get('screen'));
useEffect(() => {
const onChange = (result) => {
setScreenData(result.screen);
};
Dimensions.addEventListener('change', onChange);
return () => Dimensions.removeEventListener('change', onChange);
});
return {
...screenData,
isLandscape: screenData.width > screenData.height,
};
};
해당하는 훅을 잘사용했는데
import {useWindowDimensions} from 'react-native';
이제 훅을 아예 RN에서 만들어줬다
해당훅의 return 타입은
export interface ScaledSize {
width: number;
height: number;
scale: number;
fontScale: number;
}
이며
export const useLayout = () => {
const {width, height} = useWindowDimensions();
const PAGE_WIDTH = width;
const PAGE_HEIGHT = height;
return {PAGE_WIDTH, PAGE_HEIGHT};
};
로 사용하면 된다.
728x90
반응형