개발자
프로젝트를 하다보면 state에 따라 모달을 열고 닫는 기능을 구현할 때가 많습니다. 이럴 때마다 부모에 state를 만들고 자식(모달)에게 useState를 내리거나 useState를 함수에 감싸서 내리는 두가지 방법에 대해 고민합니다. 복잡한 기능은 당연히 함수로 감싸서 내려야겠지만 단순한 useState만 있는 기능에서는 함수로 감싸지 않는 것이 맞나요? 실무에서는 어떻게 하는지 궁금합니다
답변 1
개인적으로는 useState를 다른 컴포넌트로 전달하지는 않는 방향으로 개발하고 있습니다. 물론 개인적인 견해일 수 있습니다만, useState로 생성한 ‘상태’라는 것은 말 그대로 ‘해당 컴포넌트에 대한’ 상태를 나타내는 데이터라고 생각합니다. 이러한 상태의 변화는 컴포넌트에 큰 영향을 미치기 때문에 그 변화를 제대로 관리하는 것이 중요하다고 생각합니다. 그렇기 때문에 리액트에서는 ‘상태’(state)는 불변성을 유지하고, setter를 통해 값을 변경하도록 단방향 바인딩을 지원하고 있습니다. (물론, 이것에는 다른 이유도 있습니다만) 그런 의미에서 setter를 컴포넌트 외부로 유출하는 것은 이러한 철학과는 조금 맞지 않는 것 같습니다. 물론, 개발을 할 때 ‘어떻게 구현하였는가’에 대한 개인적인 근거나 견해도 중요합니다. 그러나, 언어나 프레임워크를 선택하고 사용한다면, 해당 기술이 추구하는 방향성, 방법론에 대해서도 고민해보시면 도움이 많이 되실 것 같습니다! 😊
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!