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
반응형

+ Recent posts