Ch.11 React 입문 — 컴포넌트 사고방식
React란? — HTML을 넘어서
DOM을 직접 만졌는데 점점 코드가 복잡해진다?
Ch10에서 만든 갤러리 필터, 코드가 100줄이 넘어가면서 유지보수가 어려워집니다. 더 나은 방법은 없을까?
대규모 UI를 효율적으로 관리하려면?
React — UI를 독립적인 컴포넌트로 쪼개서 조립하는 라이브러리입니다.
핵심 내용
DOM을 직접 조작하면 코드가 금방 복잡해집니다
React가 해결하는 3가지 문제 1. 복잡한 DOM 조작 → 선언적으로 'UI가 어떻게 보여야 하는지'만 기술 2. 수동 업데이트 → 데이터가 바뀌면 화면이 자동으로 다시 그려짐 3. 코드 재사용 불가 → 컴포넌트로 쪼개서 어디서든 재사용
페이지 전체를 새로 불러오지 않고 필요한 부분만 바꿉니다
전통적 웹: 링크 클릭 → 서버에서 새 HTML 전체를 받아옴 → 화면 깜빡임
SPA (React): 링크 클릭 → JavaScript가 필요한 부분만 교체 → 부드러운 전환
사용자 경험: 앱처럼 빠르고 자연스러운 페이지 전환
SPA 대표 서비스: Gmail, Instagram, Netflix, Notion → 페이지를 이동해도 전체가 깜빡이지 않고 부분만 바뀌는 것이 SPA입니다
웹 페이지를 레고 블록처럼 독립적인 조각으로 쪼갭니다
// 컴포넌트 = 재사용 가능한 UI 조각
// Header 컴포넌트
function Header() {
return (
<header>
<h1>내 블로그</h1>
<nav>
<a href="/">홈</a>
<a href="/about">소개</a>
</nav>
</header>
);
}
// Card 컴포넌트
function Card({ title, content }) {
return (
<div className="card">
<h3>{title}</h3>
<p>{content}</p>
</div>
);
}
// App — 컴포넌트를 조합하여 페이지 완성
function App() {
return (
<div>
<Header />
<Card title="첫 글" content="안녕하세요!" />
<Card title="두 번째 글" content="React 재밌다!" />
</div>
);
}컴포넌트 사고방식 핵심 1. 분리: 하나의 UI를 독립적인 조각(컴포넌트)으로 나눈다 2. 재사용: 같은 컴포넌트를 여러 곳에서 데이터만 바꿔 사용한다 3. 조합: 작은 컴포넌트를 모아 큰 페이지를 만든다
React의 핵심 개념은 무엇인가?
SPA에서는 페이지 전환 시 서버에서 완전히 새로운 HTML을 다운로드한다
React에서 UI의 독립적이고 재사용 가능한 조각을 ___ 라고 한다
하나의 페이지에서 필요한 부분만 변경하는 웹 애플리케이션은?
React의 세계에 입문!
핵심 용어
빠른 전환
페이지 전체가 아닌 일부분만 업데이트하여 속도가 빠름
앱 같은 경험
모바일 앱처럼 부드러운 화면 전환
프론트/백 분리
프론트엔드와 백엔드를 독립적으로 개발 가능
코드 재사용
컴포넌트 단위로 UI를 재사용, 유지보수 용이
정리 노트
React란? — HTML을 넘어서
React 핵심 개념
- SPA
- Single Page Application — 페이지 전체 새로고침 없이 UI 업데이트
- 컴포넌트
- UI를 독립적인 블록으로 쪼개서 조립하는 단위
- 선언적 UI
- "이렇게 보여줘"라고 결과만 선언, DOM 조작은 React가 처리
jQuery vs React
- jQuery
- DOM을 직접 조작 — 코드가 많아지면 복잡
- React
- 상태(state)가 바뀌면 UI가 자동으로 업데이트
React는 '무엇을 보여줄지'만 선언하면, '어떻게 바꿀지'는 알아서 처리합니다.
시각 자료
핵심 정리
- 1React = UI를 컴포넌트로 쪼개서 선언적으로 관리하는 라이브러리
- 2SPA = 페이지 전체가 아닌 필요한 부분만 동적으로 업데이트
- 3컴포넌트 = 독립적이고 재사용 가능한 UI 조각
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작