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

squirrel PARK님의 프로필 이미지
squirrel PARK

작성한 질문수

Next + React Query로 SNS 서비스 만들기

next-auth로 로그인하기

useQuery + fetch에 대해 메모이제이션 질문드립니다.

해결된 질문

작성

·

72

0

Next.js의 fetch는 requiest Memoization과 data Memoization를 이용해서 사용하는 것으로 이해했습니다.

 

header랑 body를 보내서 api에 재 요청 하지않고 캐싱하는 것을 확인 했는데요

 

만약에 useQueryhook을 사용한다고 가정하면, useQuery 도 데이터 캐싱기능을 staleTime 등으로 핸들링 할 수 있기에 Next.js의 fetch 캐싱기능을 꺼야 적절할까요?

 

"no-cache"를 해서 useQuery의 캐싱기능만 이용하는 것이 간결하고 시점을 통일 할 수 있을 것 같아서 질문드립니다.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

useQuery에서 쓰는 fetch는 꺼도 될 것 같습니다. 다만 서버 컴포넌트의 fetch는 캐싱 유지하시는 게 좋아보입니다.

squirrel PARK님의 프로필 이미지
squirrel PARK
질문자

감사합니다,

그렇다면, 만일 서버컴포넌트에서도 데이터 갱신이 필요할 때가 올텐데

액션 이후 revaildateTag 같이 갱신해주거나,

    next: {
      revalidate: 5,
    },

같이 갱신해주는게 일반적인가요?!

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네네 캐시의 핵심은 "필요할 때" 갱신해야한다는 것입니다.

squirrel PARK님의 프로필 이미지
squirrel PARK

작성한 질문수

질문하기