개발자

FSD 구조에서 상태 공유 처리 방법

7시간 전조회 10

안녕하세요 현재 FSD를 공부하면서 state관리와 Client Component / Server Component 관리에 어려움을 겪고 있어 질문 드립니다. 겪고 있는 어려움을 설명드리기 전에 코드 구조를 먼저 설명드리자면 저는 Page Layer는 최대한 Server Component를 유지하는 것을 규칙으로 하고 있으며, Page Layer 안에서 초기 데이터 패칭과 같은 서버 함수를 사용하는 구조를 계획 하고 있습니다. 이렇게 하는 이유는, Page Layer가 Client Component가 되버리면 하위 컴포넌트들은 모두 Client Component로 선언되기 때문입니다. 다음으로, EmailVerificationInput feature는 이메일 인증 로직까지 구현이 되어있고, SignUpForm과 분리한 이유는 다른 Form에서도 재사용되는 경우가 많기 때문입니다. 문제는 다음과 같습니다. EmailVerificationInput에서 인증 결과와 email 정보를 상위 컴포넌트(page layer)에서 관리하고, 그 값을 SignUpForm에 넘기다 보니, page layer가 Client Component로 바뀌어버리는 문제가 발생합니다. 이런 경우 어떤 방식으로 해결을 해야 할까요? 제가 고민해본 방법들은, 1. SignUpForm + EmailVerificationInput을 widget으로 만든다 - X widget으로 만들어두면 SignUpView에 종속되고 재사용성이 떨어질 것 같아서 page로 합치기로 결정 2. EmailVerificationInput을 shared에 두기 - X Shared에 두기에는 비즈니스 로직이 포함되기 때문에 애매하다고 생각하여 보류 3. page에 SignUpForm과 EmailVerificationInput 두개만 있는 ui 추가 후 import 아직 고민중 이렇게 생각해봤는데 다른 의견 또는 저 방식 중에 틀리게 설명드린게 있을까요? 조언 주시면 감사하겠습니다.

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

답변 0

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

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

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

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

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

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