Flex
Flex
는 자식 요소들을 Flexbox 레이아웃을 기준으로 배치하는 컴포넌트예요. Flexbox를 사용하면, 가로 및 세로 방향으로 요소들을 쉽게 정렬하고, 중앙 정렬을 간편하게 설정할 수 있어요. 자식 요소를 정 중앙에 배치할 때에는 Flex.Center
, 세로 중앙에 배치할 때에는 Flex.CenterVertical
, 가로 중앙에 배치할 때에는 Flex.CenterHorizontal
을 사용해요.
시그니처
Flex: FlexType
파라미터
- propsobject
컴포넌트에 전달되는
props
객체예요.- props.align'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline' · 'stretch'
중심축 기준(Flex 방향)으로 자식 요소를 정렬하는 설정 값이에요.
'column'
방향을 예로 들면'center'
는 수평 중앙에 배치하고,'stretch'
는 요소의 폭이'auto'
인 경우 부모의 폭에 맞게 늘려요. 이 값은 `alignItems`에 적용되며, 기본값은'stretch'
예요. - props.justify'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' · 'flex-start'
교차축(Flex 방향의 교차 방향) 기준으로 자식 요소를 정렬하는 설정 값이에요.
'column'
방향을 예로 들어,flex-start
는 요소를 부모의 위쪽에 배치하고,'center'
는 부모의 수직 중앙에 배치해요. 이 값은 `justifyContent`에 적용되며, 기본값은'flex-start'
예요. - props.direction'column' | 'row' · 'column'
자식 요소들이 배치될 방향을 설정하는 값이에요. `flexDirection`에 적용되며, 기본값은
'column'
이에요. - props.styleViewProps['style']
Flex
컴포넌트에 적용할style
객체예요. Flexbox 레이아웃 외에 컴포넌트의 배경색, 테두리, 여백 등 다른 스타일을 지정할 때 사용해요. 기본값은undefined
에요.
- props.align'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline' · 'stretch'
프로퍼티
- CenterFlexCenter
Flex.Center
는 자식 요소들을 Flex Layout 기준으로 가로와 세로 모두 정 중앙에 배치하는 컴포넌트예요.
- CenterVerticalFlexCenterVertical
Flex.CenterVertical
는 자식 요소들을 Flex Layout 기준으로 세로 방향으로 중앙에 정렬하기 위한 컴포넌트예요.
- CenterHorizontalFlexCenterHorizontal
Flex.CenterHorizontal
는 자식 요소들을 Flex Layout 기준으로 가로 방향으로 중앙에 정렬하기 위한 컴포넌트예요.
예제
가로, 세로 방향으로 요소들을 배치하는 예제예요.
import { Flex } from '@granite-js/react-native';
import { Text } from 'react-native';
function FlexExample() {
return (
<>
<Flex direction="column">
<Text>세로로 배치해요</Text>
<Text>1</Text>
<Text>2</Text>
<Text>3</Text>
</Flex>
<Flex direction="row">
<Text>가로로 배치해요</Text>
<Text>1</Text>
<Text>2</Text>
<Text>3</Text>
</Flex>
</>
);
}