[React] 아토믹 컴포넌트 디자인 패턴

Local Gaji·2023년 7월 3일
0

React

목록 보기
12/18
post-thumbnail

출처 : https://atomicdesign.bradfrost.com/chapter-2/


🎈

  • 복잡한 화면을 분해 가능한 가장 작은 단위(원자 단위)까지 나누어 UI를 설계하는 방식
  • 컴포넌트 재활용성을 높이고 유지보수를 편리하게 한다
  • Atoms → Molecules → Organisms → Templates → Pages
  • 반드시 상위 레벨 컴포넌트가 하위 레벨을 포함할 필요는 없음

🎈 Atoms

  • <a> <input> <button> 등 최소 수준의 HTML 요소
  • 디자인 상 더이상 나눌 수 없는 박스, 컨테이너 등의 컴포넌트
  • 내부에 상태 변화가 (거의) 없는 presentational components

저레벨 컴포넌트에서 상태 변화를 최소화 해야 한다


🎈 Molecules

캐러셀, 드롭다운, 선택박스, 콘텐츠카드 등


🎈 Organisms

회원가입폼, 카드 콘텐츠가 모여있는 그리드 등


🎈 Templates

실제 콘텐츠가 없는 page 수준의 스켈레톤


🎈 Page

실제 콘텐츠를 담고 있음


🎈 상태 관리

• 데이터는 상위 컴포넌트에서 하위 레벨로 전달
• 하위 컴포넌트 내부에서 useState로 상태 관리시 복잡해짐
• 상위 컴포넌트에서 Props를 전달하여 이벤트를 받거나 글로벌 상태 관리(Redux)를 사용

0개의 댓글