리액트 컴포넌트에 대해

kimsnmyng·2025년 2월 12일

Front-End CS

목록 보기
47/79

리액트 컴포넌트는 재사용이 가능하며, 독립적으로 이루어진 조각과 같다. 컴포넌트 설계 시 고려해야 할 주요 사항은 단일 책임 원칙, 재사용성, 성능 최적화 세 가지 축으로 구성된다. 이 요소들은 컴포넌트의 유지보수성과 확장성을 결정하는 핵심 기준이 된다.

단일 책임 원칙 준수

  • 역할 분리: UI 렌더링 로직과 비즈니스 로직을 철저히 분리한다. 예를 들어 데이터 fetching은 컨테이너 컴포넌트에서, 표시 기능은 프레젠테이셔널 컴포넌트에서 처리한다
  • 명확한 책임 범위: 하나의 컴포넌트가 5개 이상의 props를 받거나 200라인을 넘어가면 책임 범위를 재검토해야 한다
  • 관심사 분리: 스타일링, 상태 관리, 이벤트 핸들링 등 각 관심사를 독립적인 모듈로 캡슐화한다

재사용성 고려

  • Props 설계: 컴포넌트가 다양한 상황에서 활용될 수 있도록 확장성 있는 props 인터페이스를 구성한다
  • 컴포지션 패턴: Children Prop이나 Render Props 패턴을 활용해 유연한 컴포넌트 구조를 만든다
  • 추상화 수준: 너무 구체적인 구현에 매이지 않으면서도 필요 이상의 추상화로 복잡도를 높이지 않아야 한다

성능 최적화

  • 메모이제이션 적용: React.memo, useMemo, useCallback을 활용해 불필요한 리렌더링을 방지한다
  • 코드 스플리팅: Dynamic Import를 통해 초기 번들 크기를 최적화한다
  • 렌더링 경계 설정: Error Boundary와 Suspense를 활용해 부분 렌더링 실패 시 전체 앱이 멈추지 않도록 한다

이러한 원칙들은 프로젝트의 규모와 요구사항에 따라 유연하게 적용되어야 한다. 예를 들어 Admin Dashboard 개발 시에는 재사용성과 일관성을 우선시하는 반면, 마케팅 랜딩 페이지 제작 시에는 성능 최적화에 더 집중하는 전략적 접근이 필요하다. 최종적으로는 컴포넌트가 특정 컨텍스트에서 수행해야 하는 역할에 맞춰 최적의 설계 방식을 선택하는 것이 중요하다.

profile
안녕하세요 김선명입니다.

0개의 댓글