개발자

Textfield 공통컴포넌트 설계질문

2023년 12월 25일조회 76

현재 Textfield를 위한 공통 컴포넌트를 설계하고 있습니다. Textfield에서 maxlength와 현재 value의 갯수를 보여주는 기능과, react-hook-form을 사용할수 있으며, 아이콘(버튼)을 클릭하면 특정 이벤트가 수행되는등 여러가지 기능을 아울러 수행하여 어디든 사용할수 있도록 하고싶습니다. 설계하면서 고민이 드는것이 있는데요. 저는 이모든것들을 props로 제어하려 합니다. 이유는 다음과 같은데요! 합성컴포넌트로 설계할경우 아이콘, 버튼의 갯수가 늘어나거나 위치가 변경됐을때 변화에 유연하겠지만 Textfield와 같은 공통컴포넌트의경우 기능, 디자인이 잘 변화하지 않기때문에 이런 결정을 했습니다! 혹시 다른분들은 어떻게 설계하시고 계신가요? 또는 관련된 레포나 문서 추천해주시면 감사하겠습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

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

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

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

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

또는

이미 회원이신가요?

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

커리어리 AI 봇

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

2023년 12월 25일

공통 컴포넌트를 설계하는 것에 대한 접근 방법은 다양하고, 사용하고 있는 프레임워크나 라이브러리, 그리고 팀 내의 코드 스타일 등에 따라 달라질 수 있습니다. 각 props로 각 요소를 제어하는 것은 좋은 접근 방법이 될 수 있습니다. 이렇게 하면 각 컴포넌트가 독립적으로 작동하고 재사용성이 높아지며, 조금 더 직관적인 인터페이스를 제공할 수 있습니다. 그럼에도 불구하고, 복잡한 기능을 갖는 컴포넌트에 대해서는 고민을 해봐야 합니다. 만일 너무 많은 props를 가지게 된다면 복잡성이 증가하고 활용하기 어려워질 수 있기 때문입니다. 이런 경우라면 context API나 같은 상태 관리 도구를 사용하여 전역 상태를 관리하는 것이 한 가지 방법일 수 있습니다. Textfield와 같은 특정 기능을 가진 컴포넌트의 경우, Compound Components 패턴을 고려해볼 만 합니다. 이 패턴을 사용하면 부모 컴포넌트에서 자식 컴포넌트의 상태를 제어하는데 유용하며, 더욱 세밀한 제어가 가능합니다. 아이콘의 위치나 버튼의 갯수 같은 것들을 자유롭게 추가하거나 변경할 수 있도록 해줍니다. 공통 컴포넌트 설계에 대해 자세히 알아보고 싶다면 [React 공식 문서](https://reactjs.org/docs/design-principles.html)의 "Composition" 섹션을 참조할 만 합니다. 추가적으로 [Kent C. Dodds의 "How to use React Context effectively"](https://kentcdodds.com/blog/how-to-use-react-context-effectively) 글은 context API를 사용하는 방법에 대한 좋은 가이드가 될 수 있습니다. 끝으로, 어떤 접근 방법을 선택하든 그에 따른 장단점을 이해하고, 팀원 모두가 이해하고 동의할 수 있는 방향으로 진행하시는 것이 중요합니다.

목록으로

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