더북(TheBook)

Counter 컴포넌트 최상단의 Viewflex: 1 스타일을 설정했습니다. 그러면 해당 View가 차지할 수 있는 모든 영역을 차지하겠죠?

그리고 그 안에 있는, numberArea 스타일을 가진 View에도 flex: 1 스타일을 설정했습니다. 그러면 하단의 Button 컴포넌트들이 차지하고 있는 영역을 제외한 모든 영역을 차지하게 됩니다. 여기서 alignItemsjustifyContent 값을 center로 설정했는데, 이 설정은 내용을 정중앙에 보여주겠다는 의미입니다.

여기서 alignItems는 가로 정렬을 의미하고, justifyContent는 세로 정렬을 의미합니다. 만약 이 컴포넌트의 flexDirectionrow로 바꾸면 alignItems가 세로 정렬을 의미하고, justifyContent가 가로 정렬을 의미하게 됩니다. 브라우저에서 flex를 사용해본 적이 없다면 이 개념이 조금 헷갈릴 수 있습니다. 그래도 걱정하지 마세요. 앞으로 flex를 다양하게 사용해보면서 점차 익숙해질 것입니다.

컴포넌트 코드를 다 작성했으면 이 컴포넌트를 App에서 보여주세요.

App.js

import React, {useState} from 'react';
import {SafeAreaView, StyleSheet} from 'react-native';
import Counter from './components/Counter';

const App = () => {
  return (
    <SafeAreaView style={styles.full}>
      <Counter />
    </SafeAreaView>
  );
};

const styles = StyleSheet.create({
  full: {
    flex: 1,
  },
});

export default App;
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.