티스토리 뷰

 React Native에서 useWindowDimensions 훅은 현재 화면의 너비와 높이를 가져오는 데 사용된다.

 

이 훅은 컴포넌트가 렌더링될 때 화면의 크기를 제공하며, 화면 크기가 변경될 때마다 이를 감지하여 컴포넌트가 적절히 반응하도록 할 수 있다. 이는 반응형 디자인을 구현할 때 매우 유용하다.

 

useWindowDimensionsDimensions API와 비슷하지만, 컴포넌트 기반의 훅 형태로 제공되어 더 간단하고 직관적인 사용이 가능하다는 장점이 있다.

 

화면의 방향이 바뀌거나 다양한 화면 크기를 가진 장치에서의 호환성을 고려할 때, 이 훅을 사용하면 효과적으로 UI를 조정할 수 있다.

 

예제 코드와 함께 알아보자.


import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { useWindowDimensions } from 'react-native';

const ExampleComponent = () => {
  const { width, height } = useWindowDimensions();

  return (
    <View style={styles.container}>
      <Text>화면 너비: {width}</Text>
      <Text>화면 높이: {height}</Text>
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
});

export default ExampleComponent;

 

위 코드에서 useWindowDimensions를 호출하여 현재 화면의 너비와 높이를 width와 height 변수에 각각 저장하고 있다.

 

이후, 이 값을 Text 컴포넌트를 사용하여 화면에 출력한다. 이 방법을 통해 개발자는 현재 화면 크기에 따라 다양한 스타일이나 레이아웃을 적용할 수 있다.

 

useWindowDimensions 훅을 사용할 때 주의해야 할 점은, 이 훅이 반환하는 값이 렌더링 사이클에 따라 업데이트되기 때문에, 성능 최적화를 고려하여 불필요한 렌더링이 발생하지 않도록 주의해야 한다는 것이다.

'Mobile > react-native' 카테고리의 다른 글

[react-native] useMemo  (0) 2024.02.09
[react-native] react-native-calendars  (0) 2024.02.07
[react-native] Animated  (0) 2024.01.26
[react-native] date-fns  (0) 2024.01.26
[react-native] uuid  (0) 2024.01.23
Comments