개발자

React Atomic design patten에서 Mocules 컴포넌트 작성 방법

2023년 09월 19일조회 90

안녕하세요. 리액트에서 아토믹 디자인 패턴 적용 중 궁금한 점 있어 글 올립니다. 프로젝트 초기 단계이고 해당 디자인 패턴을 처음 적용시켜 봐서 mocule 컴포넌트의 구성 방식이 조금 고민됩니다. 첫번째는 molecule 컴포넌트에 하위 요소, 즉 atom 컴포넌트를 렌더링만 시켜주는 로직으로 작성했고, 두번째는 molecule 컴포넌트 내부에 atom 컴포넌트를 위치 시켰습니다. 각자 장단점이 있을거 같은데 제가 생각했을땐 첫번째 방법은 props drilling이 어느정도 완화되고, 컴포넌트 계층 구조를 한번에 파악하기 쉽고, 두번째 방법은 재사용이 용이하고 디자인 패턴의 규칙을 잘 따른 것 같습니다. 일단은 첫번째 방법은 재사용이 불가능한 컴포넌트에서 사용하고, 두번째 방법은 재사용이 가능한 컴포넌트에서 사용하자고 잠정 결론 내렸는데, 나중에 혼란스러워질 것 같다는 걱정도 듭니다. 좋은 의견 주시면 감사하겠습니다.

1// 1번
2 
3Organism.js
4<Molecule>
5 <Atom1 item={item}/>
6 <Atom2 />
7</Molecule>
8 
9Molecule.js
10<Molecule>{props.children}</Molecule>
11 
12// 2번
13 
14Organism.js
15<Molecule props={props}>
16 
17Molecule.js
18<Molecule>
19 <Atom1 props.item={props.item}/>
20 <Atom2 />
21</Molecule>
이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 09월 19일

아토믹 디자인 패턴에서 Molecules는 Atoms로 구성된 상대적으로 작은 집합이며, 자체 로직을 가질 수 있습니다. 기본적으로 두 가지 접근 방식 모두 적절한 사용 사례가 있습니다. 첫번째 방법은 children prop을 통해 Atom 컴포넌트를 주입하고 있는데, 이는 molecule의 재사용성을 높이고 요소들 간의 결합도를 낮추는 유연한 방법입니다. 만약 동일한 molecule layout에 다른 atom set을 주입하여 다양한 경우를 처리해야 한다면 이 방법이 적당합니다. 두 번째 방법은 molecule 내부에 atom 컴포넌트를 명시적으로 배치하고 있으며 이로 인해 해당 molecule이 어떤 요소들로 구성되어있는지 명확하게 파악하기 용이합니다. 그러나 이렇게 하면 결국 molecule의 재사용성이 줄어드는 단점이 있습니다. 그래서 일반적으로 계층 구조와 관계에 따라 이 두 가지 접근방식 중에서 선택하는 것이 좋습니다. 결국 아토믹 디자인 패턴 자체가 개별 components와 그들의 상호작용을 명확하게 정의하고 재사용성을 높이기 위한 목적으로 나온 디자인 패턴이므로, 프로젝트의 전체 구조와 개별 컴포넌트의 관계를 고려하여 의사결정을 해야합니다. 마지막으로, 어떤 방식을 선택하든 중요한 것은 일관성입니다. 모든 팀원들이 이해하고 동일한 규칙을 따르도록 하는 것이 중요합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!