반응형
📘 리액트 스터디 시리즈 3편
JSX와 컴포넌트의 기초|React UI의 시작은 이렇게 만들어집니다
안녕하세요! 오늘은 리액트에서 가장 핵심이 되는 개념, 바로
JSX와 컴포넌트
에 대해 배워보겠습니다 😎
이 두 가지를 제대로 이해하는 것이 리액트의 시작이자 끝이라고 해도 과언이 아니에요.
그럼, 함께 시작해볼까요?
💡 JSX란 무엇인가요?
JSX (JavaScript XML)은 자바스크립트 안에서 HTML을 쓰는 문법입니다.
const element = <h1>Hello, React!</h1>;
위 코드는 자바스크립트 코드이면서 동시에 HTML처럼 보이죠?
하지만 실제로는 React.createElement()로 변환되는 자바스크립트 문법입니다.
- ✅ HTML처럼 UI를 직관적으로 작성할 수 있어요
- ✅ JSX는 브라우저가 직접 이해하지 못하므로 Babel 같은 컴파일러가 필요해요
🔥
주의!
JSX 문법에는 몇 가지 규칙이 있어요:
- 📌 하나의 부모 태그로 감싸야 함
- 📌 class →
className
으로 - 📌 style은 객체 형태로 작성
return (
<div className="container" style={{ color: 'blue' }}>
<h1>Hello JSX!</h1>
</div>
);
🧩 컴포넌트란?
컴포넌트는 리액트 UI의 가장 작은 단위입니다. 즉, UI를 구성하는 조각이죠.
컴포넌트는 크게 두 가지 방식으로 작성할 수 있습니다.
1️⃣ 함수형 컴포넌트 (주로 사용됨)
function Welcome() {
return <h1>환영합니다!</h1>;
}
2️⃣ 화살표 함수로도 가능
const Welcome = () => <h1>환영합니다!</h1>;
3️⃣ 클래스형 컴포넌트 (예전 방식)
class Welcome extends React.Component {
render() {
return <h1>환영합니다!</h1>;
}
}
🎯 최근에는 함수형 + Hooks 방식이 표준입니다!
🔗 컴포넌트 사용 방법
컴포넌트는 태그처럼 사용할 수 있습니다.
function App() {
return (
<div>
<Welcome />
<Welcome />
</div>
);
}
➡️ 이렇게 하면 "환영합니다!"가 두 번 출력돼요 😄
📦 props로 컴포넌트에 데이터 전달하기
props는 컴포넌트에 데이터를 전달하는 방법입니다.
function Welcome(props) {
return <h1>안녕하세요, {props.name}님!</h1>;
}
function App() {
return (
<div>
<Welcome name="영희" />
<Welcome name="철수" />
</div>
);
}
➡️ 결과: "안녕하세요, 영희님!" / "안녕하세요, 철수님!"
중요:
props는 읽기 전용입니다. 변경할 수 없어요.
🛠 실습 - 나만의 첫 컴포넌트 만들기
📋 목표: 나만의 버튼 컴포넌트를 만들고 재사용하기
function CustomButton({ label, color }) {
return (
<button style={{ backgroundColor: color }}>
{label}
</button>
);
}
function App() {
return (
<div>
<CustomButton label="확인" color="green" />
<CustomButton label="취소" color="red" />
</div>
);
}
✨ 이제 컴포넌트를 모듈처럼 재사용할 수 있다는 걸 느껴보세요!
🧠 정리 - 오늘 배운 핵심 포인트
- ✔️ JSX는 자바스크립트 안에 HTML을 작성하는 문법
- ✔️ 컴포넌트는 UI를 구성하는 기본 단위
- ✔️ 함수형 컴포넌트를 주로 사용하며, props로 데이터를 전달
- ✔️ 재사용 가능한 UI 만들기의 시작!
📌 다음 편 예고
다음 4편에서는 리액트에서 이벤트를 처리하고 상태를 관리하는 방법을 배워볼 거예요!
바로 useState
의 세계로 가보죠 🚀
놓치지 마세요! 🤓
💬 도움이 되셨다면 댓글로 알려주세요!
📩 블로그 구독도 잊지 마시고요 🙌
반응형
'일상이 개발' 카테고리의 다른 글
React 개발 환경 세팅 완전 정복|CRA vs Vite 차이점과 설치 방법 (2025 최신) (1) | 2025.06.30 |
---|---|
리액트 스터디 시리즈|React 처음부터 실전까지 완전정복 가이드 (입문자 필독🔥) (2) | 2025.06.27 |
Next.js 접근 제어 완전정복 – 인증, 역할 분기, 리디렉션 UX까지 실전 전략 가이드 (0) | 2025.05.27 |
Next.js 폼 처리와 UX 최적화 완전정복 – React Hook Form, Zod, 전송 UX까지 실전 설계 가이드 (0) | 2025.05.26 |
Next.js 폴더 구조 & 아키텍처 설계 완전정복 – 기능 중심 구조, Atomic Design, 서비스 계층까지 실전 가이드 (0) | 2025.05.22 |