개발자

Next.js 와 React Query SSR 네트워크 요청관련

2023년 09월 08일조회 315

현재 next.js 13버전과 react query를 같이 사용하고있습니다. https://tanstack.com/query/v4/docs/react/guides/ssr 공식문서에 나와있는 방법중 Hydration 방식을 사용하고있는데 서버 컴포넌트에서 prefetchQuery 를 하고 클라이언트 컴포넌트에서 useQuery 를 같은 키값으로 한다면 클라이언트 즉, 브라우저 네트워크 탭을 확인했을때 해당 요청이 네트워크 탭에서는 확인이 안되어야 정상일까요?

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

답변 1

김하림님의 프로필 사진

서버 컴포넌트에서 prefetchQuery를 하고 받아온 데이터를 클라이언트 컴포넌트에 잘 전달했다면, 패칭이 일어나지 않는 게 맞습니다. 다만, `staleTime` 설정이 기본값인 `0`으로 되어있다면 서버에서 미리 데이터를 받아왔어도 이미 만료(stale)된 데이터로 취급되기 때문에 다시 패칭을 시도할 겁니다. 패칭이 일어나지 않게 하려면 useQuery 옵션 또는 QueryClient `defaultOptions.queries` 옵션의 `staleTime` 값을 원하는 값으로 설정해주면 됩니다. 예를 들어 `staleTime: 1000`로 설정하면 1초 동안은 데이터가 새 것(fresh)으로 취급됩니다.

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

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

또는

이미 회원이신가요?

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

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

새로운 질문 올리기

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