C
React/시작하기/Lesson 02

JSX 문법

25분·theory
이 챕터
2/2
JavaScript

JSX 문법

💡 왜 배워야 할까요?

🎯 React로 웹사이트를 만들려면 필수 문법입니다.
💼 HTML과 JavaScript를 섞어 쓰므로 배우기 쉽습니다.
모든 React 개발자가 매일 사용하는 기본 스킬입니다.
🏢 실무에서는
실무에서는 JSX로 버튼, 폼, 카드 같은 UI를 만듭니다. 예를 들어 쇼핑몰 개발자는 JSX로 상품 목록 화면을 작성하고, 이를 JavaScript 코드로 변환하여 브라우저에 표시합니다.

JSX가 뭔가요? — HTML처럼 생긴 JavaScript

JSX는 JavaScript 안에서 HTML처럼 UI를 작성하는 문법이에요.

jsx
// 이게 JSX — HTML이 아닌 JavaScript 코드예요!
const element = <h1>안녕하세요!</h1>;

브라우저는 JSX를 모르기 때문에 Vite/Webpack이 자동으로 변환해줘요:

js
// 실제로 이렇게 변환됨 (우리가 볼 필요 없음)
const element = React.createElement('h1', null, '안녕하세요!');

> 💡 그냥 "HTML처럼 쓰면 되는 것"으로 이해하면 충분해요.

JSX에서 JavaScript 쓰기 — 중괄호 {}

JSX 안에서 JavaScript 표현식을 쓰려면 중괄호 {} 를 사용해요.

jsx
const name = "홍길동";
const age = 25;

// {} 안에 JS 값/식 넣기
return (
  <div>
    <h1>안녕하세요, {name}님!</h1>
    <p>나이: {age}살</p>
    <p>내년 나이: {age + 1}살</p>
    <p>성인 여부: {age >= 18 ? "성인" : "미성년자"}</p>
  </div>
);
💻 JSX 규칙 모음
// ✅ 1. 반드시 하나의 부모 태그로 감싸기
return (
  <div>          {/* 부모 태그 */}
    <h1>제목</h1>
    <p>내용</p>
  </div>
);

// ✅ 2. class → className (class는 JS 예약어)
return <div className="container">내용</div>;

// ✅ 3. 셀프 클로징 태그는 / 필수
return <img src="photo.jpg" />;   // HTML에선 />없어도 되지만 JSX는 필수

// ✅ 4. 스타일은 객체로
return (
  <h1 style={{ color: 'red', fontSize: '24px' }}>
    빨간 제목
  </h1>
);

⚛️ React 패턴 — JSX 문법

JSX 문법을 React에서 어떻게 쓰는지 코드와 함께 단계별로 익혀보세요.
1 🧩 1. JSX 문법 사용 시나리오
이 기능이 필요한 상황.
2 💻 2. 코드 작성
JSX 문법의 기본 사용법.
3 🎨 3. 렌더링 결과
사용자가 보는 화면.
4 💡 4. 실무 팁
흔한 함정과 베스트 프랙티스.

🎮 JSX 문법 — 단계별 이해

각 단계를 클릭해 내용을 읽고 ✓ 이해했어요 버튼으로 진행률을 확인하세요.
🖥️ 실행 결과 — 렌더링된 React 컴포넌트
✏️ React 코드 수정하기 (클릭해서 열기)
⚛️ React 18 + Babel Standalone — 결과 먼저 확인 후 코드 편집기에서 직접 수정해볼 수 있습니다.

확인 퀴즈

JSX에서 CSS 클래스를 지정할 때 올바른 방법은?
💡 JSX에서는 class 대신 className을 써야 해요. class는 JavaScript의 예약어(클래스 선언 키워드)라서 속성명으로 쓸 수 없어요.
먼저 읽으면 좋은 개념: React 소개
다음 추천: 컴포넌트 기초
JSX 문법 - React