2026-03-05
React란?
사용자 인터페이스(UI)를 만들기 위한 JavaScript 라이브러리
- Meta(구 Facebook)에서 개발
- 컴포넌트 기반
- 선언형 프로그래밍 방식
- Virtual DOM 사용
React의 핵심 특징
-
컴포넌트 기반 구조
UI를 독립적인 단위(컴포넌트)로 나누어 개발
- 재사용 가능
- 유지보수 용이
- 구조적 설계 가능
-
JSX문법
JavaScript 안에서 HTML처럼 UI를 작성할 수 있게 해주는 문법 확장
- 마크업 문법을 객체 형태로 저장하고 렌더링
- 가독성 높임
- 렌더링 직관적 이해
-
선언형(Declarative)
“어떻게”가 아니라 “무엇을” 보여줄지 작성
{isLogin?<Home/>:<Login/>}→ 상태에 따라 UI 자동 변경
-
Virtual DOM
실제 DOM 대신 가상 DOM을 사용해 변경된 부분만 업데이트
- 성능 최적화
- 최소한의 DOM 조작
-
단방향 데이터 흐름
부모 → 자식으로 데이터 전달 (props)
- 예측 가능성 높음
- 디버깅 용이
- 단일 페이지 애플리케이션 (SPA)
- 페이지 간 전환이 아니라 동적으로 컴포넌트를 업데이트
- 단일 페이지 내에서 빠르게 사용자 경험을 제공
- 풍부한 생태계
React의 장점
- 빠른 UI 업데이트
- 컴포넌트 재사용
- 큰 생태계
- 상태 기반 렌더링
React의 한계
- 라우팅, 상태관리 기본 제공 X
- SEO 문제 (CSR 기반일 경우)
- 러닝커브 존재
참고자료
- https://ko.legacy.reactjs.org/
- https://modulabs.co.kr/blog/react-library
- https://www.elancer.co.kr/blog/detail/167