1. SSR에서의 전역 상태 관리

  1. 해당 영역만 따로 분리하여 (클라이언트 컴포넌트)
  2. 서버 컴포넌트 내부에 import 하는 방식으로 진행하고 있습니다

처음 SSR 방식으로 작업을 하다보니 데이터를 전역으로 관리하는 과정에서 몇 번 시행착오가 있었습니다.

소스 (참고용🙏🏼)

전역으로 사용할 데이터(user정보)를 fetching후 전역 스토어에 담는 과정에서 루트 컴포넌트를 <RecoilRoot> 로 감싸려면 클라이언트 컴포넌트 선언을 해야되기에 보시는 바와 같이 따로 wrapper을 생성하여 루트 레이아웃은 그대로 서버 컴포넌트로 진행, 전역 스토어를 구성한 상태입니다

하지만 이후 전역 상태 데이터를 사용할 때마다 클라이언트 컴포넌트 선언을 해야 되는 상황인데,

최대한 페이지 및 컨테이너 단위에서 선언을 하는 대신 범위를 좁혀 작은 단위로 분리해 작업하고 있습니다만, 이러한 서버 컴포넌트와 클라이언트 컴포넌트의 계속되는 분리 작업이 과연 올바르게 가고 있는 방식인가 하여 관련해 조언을 구하고 싶습니다.

더불어 혹여나, SSR에서는 데이터를 필요로 하는 페이지 마다 데이터를 fetching 하는 것이 (API 반복 호출을 감수하고) 오히려 통상적인 지도 궁금합니다. 작업하며 느끼기에 SSR 에서의 계속되는 클라이언트 컴포넌트 선언이 (전역 상태를 쓰기 위해) 과연 맞게 가고 있는 건가 개인적으로 의구심이 들었습니다.