본문 바로가기
Programming

React JSX 문법

by 나무수피아는 지식의 가지를 뻗어가는 공간입니다. 2025. 10. 18.
반응형

📘 JSX 문법 완벽 가이드

JSX(JavaScript XML)는 React에서 UI를 작성하기 위해 사용하는 문법입니다. 자바스크립트 안에서 HTML처럼 보이는 문법을 사용할 수 있게 해 주며, React.createElement() 함수를 간편하게 표현할 수 있습니다.

1. JSX 기본 구조

const element = <h1>Hello, React!</h1>;
  

위 코드는 내부적으로 다음과 같이 변환됩니다:

const element = React.createElement('h1', null, 'Hello, React!');
  

2. 하나의 부모 요소로 감싸야함

JSX에서는 반드시 모든 태그가 하나의 부모 요소로 감싸져야 합니다. 여러 요소를 나열하고 싶을 경우, <div><></> (Fragment)을 사용합니다.

// 올바른 예시
return (
  <>
    <h1>Title</h1>
    <p>Paragraph</p>
  </>
);
  

3. 자바스크립트 표현식 사용

JSX 내부에서는 { }를 사용하여 변수, 연산, 함수 호출 등을 삽입할 수 있습니다.

const name = "React";
const element = <h1>Hello, {name}!</h1>;
  

4. 속성 지정 (Props)

JSX에서는 HTML 속성과 거의 유사하게 속성을 지정하지만, class 대신 className, for 대신 htmlFor 등을 사용합니다.

<div className="box">Hello</div>
<label htmlFor="input">이름</label>
  

5. 조건부 렌더링

삼항 연산자나 AND(&&), 함수 등을 이용하여 조건에 따라 컴포넌트를 다르게 렌더링 할 수 있습니다.

{isLoggedIn ? <LogoutButton /> : <LoginButton />}
{count > 0 && <p>You have {count} messages.</p>}
  

6. 주석 작성

JSX 내부에서는 주석을 {/* ... */} 형식으로 작성해야 합니다.

return (
  <div>
    {/* 여기는 주석입니다 */}
    <h1>Hello</h1>
  </div>
);
  

✅ 요약

  • JSX는 JavaScript 안에서 HTML처럼 UI를 표현
  • 하나의 부모 태그로 감싸야 함
  • { } 안에 자바스크립트 표현식 사용 가능
  • HTML과 유사하지만 속성명이 다를 수 있음 (class → className)
  • 조건부 렌더링, 반복 렌더링, 주석 처리 등 가능
반응형

'Programming' 카테고리의 다른 글

React Props와 State  (73) 2025.10.20
React 컴포넌트 생성과 구조  (64) 2025.10.19
React 개발 환경  (71) 2025.10.17
React 소개  (59) 2025.10.16
jQuery API 통합 실전  (64) 2025.10.15