목록 보기
합성 컴포넌트로 재사용성 극대화하기
프론트엔드

합성 컴포넌트로 재사용성 극대화하기

두줄요약

Dialog의 prop 증가와 고정된 요소 배치 문제를 합성 컴포넌트로 개선했습니다. 서브 컴포넌트를 조합해 복잡한 Dialog 요구사항에 유연하게 대응했습니다.

문제 상황

  • Dialog 기능 확장에 따른 prop 수 증가와 컴포넌트 복잡도 누적
  • 요소 순서·배치 변경마다 조건 분기와 기존 사용처 사이드이펙트 우려

구조와 흐름

  • Dialog 제목·설명·체크박스·버튼 등을 독립 서브 컴포넌트로 분리
  • 메인 Dialog에서 children을 분류해 Dimmed·본문·하단 버튼 영역 배치
  • Object.assign 기반 Dialog.Title, Dialog.CheckBox 형태의 조합형 API 제공

선택 이유

  • 사용처에서 필요한 요소와 순서를 직접 조합하는 선언적 UI 구성
  • 복잡한 Dialog 변형에서 기존 Dialog 수정 없이 서브 컴포넌트 추가 가능

트레이드오프

  • 단순한 Dialog는 prop 방식의 직관성과 스토리북 테스트 용이성
  • 복잡하고 다양한 요구사항은 합성 컴포넌트의 유연성과 재사용성 우위

카카오 계열사 채용30건

채용 사이트에서 전체 보기

다음 읽기

#React 주제를 이어서 읽기

합성 컴포넌트로 재사용성 극대화하기

확장되는 Dialog 요구사항에서 prop 증가와 고정된 배치의 한계를 분석했습니다. React 합성 컴포넌트로 유연한 조합과 재사용성을 확보하는 방법을 소개합니다.

카카오엔터테인먼트FE
카카오엔터테인먼트FE
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...