• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

비동기 호출 관련 질문있습니다!

23.11.21 02:53 작성 23.11.21 09:33 수정 조회수 225

2

혹시 서버 컴포넌트에서만 비동기 호출이 가능한건가요??

그렇다면 서버 컴포넌트가 컴포넌트를 서버 내에서 미리 만들어 둘 때, 비동기 호출을 통해 데이터를 가져와서 이 값을 미리 가져와서 컴포넌트를 만드는 건가요??

그리고 만약 그렇다면 왜 서버 컴포넌트에서만 비동기 호출이 가능하도록 만드신 건지 의도를 아시고 계신지 궁금합니다! (단순히 서버 컴포넌트의 장점 때문인건가요??)

그리고 강의의 진행은 SSR을 사용한다는 가정하에 진행해주셨던 게 맞나요?? (SSG도 동일한 건가요?)

 

답변 1

답변을 작성해보세요.

3

종민님, 안녕하세요! 매번 좋은 질문 남겨주셔서 감사합니다.

 

혹시 서버 컴포넌트에서만 비동기 호출이 가능한건가요??

네, 공식 문서를 살펴보면 fetch 호출은 서버 컴포넌트에서만 가능하다고 표현하고 있습니다!

image

 

그렇다면 서버 컴포넌트가 컴포넌트를 서버 내에서 미리 만들어 둘 때, 비동기 호출을 통해 데이터를 가져와서 이 값을 미리 가져와서 컴포넌트를 만드는 건가요??

맞습니다!

 

그리고 만약 그렇다면 왜 서버 컴포넌트에서만 비동기 호출이 가능하도록 만드신 건지 의도를 아시고 계신지 궁금합니다! (단순히 서버 컴포넌트의 장점 때문인건가요??)

물론 클라이언트 렌더링 이후에 비동기 호출해 데이터를 채우는 방식도 가능합니다. 하지만 데이터를 미리 조회해서 빠르게 정보를 전달하는 방법으로는 서버 컴포넌트에서의 비동기 호출이 더 적합하기에 이 방식을 채택했습니다. AppRouter의 주요 변경점인 서버 컴포넌트의 효용을 보여주기 위한 의도였다고 이해해주시면 좋을 것 같아요 😄

 

종민님의 질문이 다른 분에게도 많은 도움이 될 거 같습니다. 앞으로도 좋은 질문 부탁드려요!

답변이 부족하다면 댓글 남겨주세요!

이종민님의 프로필

이종민

질문자

2023.11.21

항상 친절한 답변 감사드립니다! 덕분에 잘 이해된 것 같습니다!