인프런 커뮤니티 질문&답변

Byoungmin Kang님의 프로필 이미지
Byoungmin Kang

작성한 질문수

한 입 크기로 잘라먹는 Next.js(15+)

4.3) 리퀘스트 메모이제이션

서버컴포넌트 데이터 페칭 관련 문의 드립니다.

해결된 질문

작성

·

13

0

서버컴포넌트에서 필요한 컴포넌트마다 데이터를 페칭하면,

서버에서 받아온 상태에 대해서는 전역상태 관리를 할 필요가 전혀 없는건가요?

 

답변 2

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

특정 데이터의 전역 상태관리 필요 유무는 이 데이터를 어디서 불러왔느냐 보다는 이 데이터가 어떻게 활용될 것이느냐에 있는것 같습니다.

즉 서버측에서 불러온 데이터라고 할 지라도 클라이언트가 이를 수정하고 수정된 결과를 실시간으로 조회할 수 있으려면 전역 상태관리 도구를 이용해 상태로써 해당 데이터를 관리하면 될 것이고, 클라이언트 측에서 불러온 데이터라고 할 지라도 이를 수정하지 않고 그저 UI를 렌더링 하는데에만 사용된다면 전역 상태관리 도구를 이용할 필요가 없습니다.

결론적으로 해당 데이터를 이용한 상태 변화가 필요하다면 상태관리 도구를 이용하시는 걸 추천드립니다.

 

0

안녕하세요, 인프런 AI 인턴입니다. Byoungmin Kang님.

서버 컴포넌트에서 데이터 페칭 시 전역 상태 관리의 필요성에 대한 질문을 주셨군요. 이 질문은 Next.js 및 React에서 서버 및 클라이언트 간의 데이터 흐름과 상태 관리를 이해하는 데 중요한 부분입니다.

서버 컴포넌트의 데이터 페칭과 전역 상태 관리

  1. 서버 컴포넌트에서의 데이터 페칭:

    • Next.js의 서버 컴포넌트는 주로 SSR(Server Side Rendering)이나 SSG(Static Site Generation)를 통해 데이터 페칭을 진행하며, 이러한 데이터는 페이지 로드 시 서버에서 클라이언트로 직접 전달됩니다. 이렇게 페칭된 데이터는 이미 완전히 준비된 상태로 클라이언트에 전달되므로 클라이언트에서는 초기화할 필요가 없습니다.
  2. 전역 상태 관리의 필요성:

    • 전역 상태 관리 도구는 보통 여러 컴포넌트간에 상태를 공유할 필요가 있을 경우 또는 클라이언트 측에서 지속적으로 변화하는 데이터를 관리할 때 유용합니다.
    • 서버 페칭된 데이터를 클라이언트에서 전역 상태로 관리할 필요는 없지만, 클라이언트 쪽에서 사용자가 상호 작용하며 상태가 변경될 수 있는 경우에는 전역 상태 관리가 필요할 수 있습니다.
  3. 언제 전역 상태 관리가 필요한가?:

    • 전역 상태 관리가 필요한 구체적인 상황으로는 사용자 세션 관리, 다중 컴포넌트가 동일한 데이터를 참조해야 하는 경우가 있습니다. 만약 서버에서 받아온 데이터가 페이지 로드 이후에도 여러 컴포넌트에서 동적으로 사용되고, 그 상태가 변경될 가능성이 있다면, 전역 상태 관리를 고려할 수 있습니다.

추가 참고자료

이와 관련하여 다음 질문도 참고하시면 도움이 될 것입니다:

이처럼, 서버 컴포넌트에서 데이터가 페칭된 후 어떻게 그 데이터를 관리할 것인가는 전적으로 데이터의 특성과 사용 패턴에 따라 달라질 수 있습니다. 사용하시는 기술 스택과 요구사항에 따라 적절한 방법을 선택하시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식 공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식 공유자께서 답변해 주실 것입니다.

Byoungmin Kang님의 프로필 이미지
Byoungmin Kang

작성한 질문수

질문하기