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

results matching ""

    No results matching ""