2025-07-31

1. 오늘 한 것 (What I Did)

  • 컴포넌트 만들기
    • 컴포넌트는 반드시 하나의 요소만 return해야 함
    • <div>로 감싸거나 빈 태그 <></> 사용하기 
  • 다른 파일에서 import/export 해봤음
  • HTML을 JSX로 바꿔봤음
    • class → className (JS예약어 충돌 방지)
    • 모든 태그 반드시 닫기
      • <br> → <br />
      • <img> → <img />
  • App.js 실행까지 성공
    • React 앱을 실제로 브라우저에서 돌려봤음
    • npm install / npm run dev 명령어 사용 (꼭 실행 위치 폴더를 잘 확인하자!) 
    • 내가 만든 컴포넌트가 화면에 나타나는 걸 봤음

2. 새로 이해한 것 (What I Learned)

React 앱 실행 흐름 

  • 컴포넌트 파일 만들기
  • App.js에서 import하기
  • npm run dev로 실행하기
  • 브라우저에서 결과 확인하기

컴포넌트의 의미

  • 컴포넌트 = 재사용 가능한 조각 (레고 블록 같은 것)
  • 한 번 만들면 여러 번 쓸 수 있음
  • 각각의 컴포넌트는 독립적인 기능(?)을 가짐 → 함수 만들듯이 만들면 됨 

Import/Export의 두 가지 방식

파일 하나에 함수 하나 있을 때: Default Export/Import

// 내보내기 (Export)
function Button() {
  return <button>클릭하세요</button>;
}
export default Button;

// 가져오기 (Import)
import Button from './Button';
import MyButton from './Button';  // 이름 바꿔도 됨!
  • 파일당 하나만 가능
  • 이름을 자유롭게 바꿀 수 있음
  • 중괄호 {} 없이 import
  • 파일 이름 = 컴포넌트 이름 → Default

파일 하나에 함수 여러개 있을 때: Named Export/Import

// 내보내기 (Export)
export function formatDate() { /* */ }
export function validateEmail() { /* */ }
export const API_URL = 'https://api.com';

// 가져오기 (Import)
import { formatDate, validateEmail, API_URL } from './utils';
  • 파일에서 여러 개 가능
  • 정확한 이름으로 import해야 함
  • 중괄호 {} 필수
  • 파일 안에 여러 개 → Named

3. 여전히 모르겠는 부분 

  • function vs const 화살표함수 실제로 뭐가 다른 거지?

 

 

'TIL' 카테고리의 다른 글

2025-08-09 NestJS + TypeORM DB 연동  (4) 2025.08.10
2025-08-06  (6) 2025.08.10
2025-08-03  (10) 2025.08.03
2025-07-30  (4) 2025.07.31
2025-07-21  (3) 2025.07.23