첫 번째 React 앱 만들기 "Hello, World!"
이제 실제로 간단한 React 애플리케이션을 만들어보면서 React의 기본 구조와 작동 방식을 이해해 봅시다.
우리는 전통적인 프로그래밍 입문 예제인 "Hello, World!"를 React로 구현할 것입니다.
1. 프로젝트 생성
먼저 Create React App을 사용하여 새 프로젝트를 생성합니다.
2. 프로젝트 구조 살펴보기
프로젝트가 생성되면 다음과 같은 구조를 가집니다.
주요 파일의 역할
public/index.html
: 애플리케이션의 HTML 템플릿src/index.js
: JavaScript 시작점src/App.js
: 메인 React 컴포넌트package.json
: 프로젝트 설정 및 의존성 정보
3. App.js 수정하기
src/App.js
파일을 열고 다음과 같이 수정합니다.
이 코드의 의미
import React from 'react';
: React 라이브러리를 불러옵니다.function App() { ... }
: 함수형 컴포넌트를 정의합니다.return ( ... );
: JSX를 사용하여 컴포넌트의 UI를 정의합니다.export default App;
: 이 컴포넌트를 다른 파일에서 불러올 수 있게 내보냅니다.
4. index.js 이해하기
src/index.js
파일을 살펴봅시다.
이 파일의 역할
- React와 ReactDOM을 불러옵니다.
App
컴포넌트를 불러옵니다.ReactDOM.createRoot()
를 사용하여 React의 루트를 생성합니다.root.render()
를 호출하여App
컴포넌트를 렌더링합니다.
5. 애플리케이션 실행하기
터미널에서 다음 명령어를 실행합니다.
브라우저가 자동으로 열리고 http://localhost:3000
에서 "Hello, World!"가 표시되는 것을 확인할 수 있습니다.
6. 컴포넌트 추가하기
이제 새로운 컴포넌트를 만들어 App
컴포넌트에 추가해 봅시다.
src
폴더에 Greeting.js
파일을 생성하고 다음 내용을 입력합니다.
이제 App.js
를 수정하여 Greeting
컴포넌트를 사용해 봅시다.
이 변경 사항을 저장하면 브라우저에서 자동으로 업데이트된 내용을 확인할 수 있습니다.
7. Props 이해하기
위 예제에서 name="Developer"
는 props(속성)입니다.
이를 통해 부모 컴포넌트(App
)에서 자식 컴포넌트(Greeting
)로 데이터를 전달할 수 있습니다.
8. 상태 추가하기
이제 간단한 상태를 추가해 봅시다.
App.js
를 다음과 같이 수정합니다.
이 예제에서
useState
훅을 사용하여 상태를 추가했습니다.- 버튼 클릭 시
setCount
함수를 호출하여 상태를 업데이트합니다. - 상태가 변경될 때마다 컴포넌트가 다시 렌더링되어 화면이 업데이트됩니다.
정리
이렇게 해서 우리는 첫 번째 React 앱을 만들어 보았습니다.
이 과정에서 우리는 이러한 내용을 배웠습니다.
- Create React App을 사용하여 프로젝트를 설정했습니다.
- 프로젝트 구조와 주요 파일의 역할을 이해했습니다.
- 컴포넌트를 생성하고 수정하는 방법을 배웠습니다.
- JSX를 사용하여 UI를 정의하는 방법을 알아보았습니다.
- Props를 통해 컴포넌트 간 데이터를 전달하는 방법을 배웠습니다.
- useState 훅을 사용하여 상태를 관리하는 방법을 익혔습니다.
이 간단한 예제를 통해 React의 기본적인 개념과 작동 방식을 이해할 수 있습니다.
React의 강력한 기능은 이러한 기본 개념들을 바탕으로 구축되며, 이를 조합하여 복잡하고 동적인 사용자 인터페이스를 만들 수 있습니다.
다음 장에서는 이러한 개념들을 더 깊이 있게 탐구하고, 더 복잡한 애플리케이션을 구축하는 방법을 학습하게 될 것입니다.