inflearn logo
강의

Course

Instructor

Next + Create a SNS service with React Query

prefetchQuery 관련 질문

260

octwanga6078

4 asked

0

  1. prefetchQuery 서버컴포넌트에서 데이터를 한번 불러오면, 정상적으로 불러왔는지 확인할 수 있나요??

  2. 서버 컴포넌트에서 prefetchQuery한 다음에 클라이언트컴포넌트에서
    useQuery로 불러오게 되면(queryKey 동일) 이미 데이터가 저장 되어 있는거로 알고 있는데,


    console.log를 찍어보게 되면, undefined가 뜬 다음에 데이터가 호출 됩니다.
    prefetchQuery가 정상적으로 동작 안하는게 아닌가 싶습니다.

     

export default function TestClient() {
  const { data } = useQuery({
    queryKey: ['typeData'],
    queryFn: getTypeData,
  });

   console.log(typeData);
   
   ...
export default async function TestServer() {
  const queryClient = new QueryClient();

  await queryClient.prefetchQuery({ queryKey: ['typeData'], queryFn: getTypeData });
  const dehydratedState = dehydrate(queryClient);

  return (
    <>
        <HydrationBoundary state={dehydratedState}>
          <TestClient />
        </HydrationBoundary>
    </>
  );
}

react next.js react-query next-auth msw

Answer 2

0

kimhecan

https://github.com/vercel/next.js/discussions/61431
이거 보시면 될거예요!

0

zerocho

  1. 백엔드 서버쪽에서도 라우터 호출 여부로 확인 가능하고, 브라우저에서도 리액트쿼리 데브툴로 확인 가능합니다.

  2. 동작하고있는지 아닌지는 prefetchQuery의 staleTime을 조금 늘려둔 다음에 브라우저에서 다시 typeData를 요청을 하는가로 판단할 수 있습니다. 브라우저에서 요청을 보내면 안 됩니다.

0

octwanga6078

리액트쿼리 데브툴에 키값이 없으면 prefetchQuery가 정상호출되지 않았다고 봐도되나요??

0

zerocho

네네 그렇습니다. prefetchQuery로 받아온 값을 useQuery에서 저장해야하거든요.

0

zerocho

RQProvider로 감싸져있나요?

0

octwanga6078

넵. 제일 최상단 layout.tsx에 provider로 감싸져있습니다.
useQuery 호출하는 부분 주석처리해도, prefetchQuery로 데이터 가져오기 때문에

데브툴에 표시 돼야 될 것 같은데, 값도 안찍히고, console.log(dehydratedState) 찍어봐도 터미널창에 찍힌 값은 비어있어서요.

0

zerocho

네트워크 탭에서 첫 요청 response 확인해서 데이터 들어있는 채로 렌더링되는지 확인해보세요.

0

octwanga6078

요청은 한번만 시도하고, res떨어지면서 화면이 렌더링됩니다.

 

0

zerocho

강의 중에 ssr되는지 확인하는 강의 있습니다. 그렇게 확인해보셔야 합니다.

0

octwanga6078

해당 api를 호출하지도 않고, 원하는 부분이 안그려지는거 봐서는 ssr이 정상적으로 동작하지 않는거같네요.

0

zerocho

getTypeData 함수부터 다시 살펴보세요

0

octwanga6078

넵. 감사합니다.

캡처링부분 질문있습니다.

0

74

2

깃에 소스코드를 찾을 수 없습니다.

0

113

2

useInfiniteQuery promise와 react use 사용시 페이지 무한 로딩

0

98

1

import 파일 경로를 찾지 못 해서 에러가 발생합니다.

0

109

2

css 라이브러리 추천 부탁드립니다

0

140

2

팔로우 추천 목록이 빈 배열로 들어옵니다.

0

130

1

게시물 업로드 시 userId가 undefined로 들어가는 오류

0

119

1

useSuspenseQuery 사용 시 SSR 401 이슈 관련

0

172

1

리액트 쿼리 useinfinitequery 무한스크롤 구현 시 페이지가 이동할 경우 데이터가 보존되게 할 수 있나요??

0

184

3

폴링이 필요없는 이유

0

93

2

next Request Memoization과 react cache

0

108

2

seo 최적화 기준은 데이터 fetching인가요 아님 데이터 렌더링인가요?

0

84

2

next.js 서버fetch 에러 fallback ui 구현 방법

0

173

2

프레임워크 여론 파악법

0

125

2

필터옵션이 많은 페이지에서 서버 fetch를 하는게 맞는걸까요??

0

103

2

서버 fetch suspense 로 감싸고 새로고침 시 잠시 빈 화면이 노출된 후 fallback ui가 노출됩니다.

0

102

2

template.tsx 내 서버fetch 응답값과 클라이언트 컴포넌트 상태값 싱크가 맞지 않는 이슈

0

66

2

Auth.js 사용 시 authorize 함수가 호출되지 않습니다

0

131

2

next.js 에서 로그인에 관하여

0

138

1

Next의 route handler에 대한 질문이 있습니다.

0

101

2

게시판 리스트 만들때 use client를 어디서부터 집어넣어야할지 모르겠습니다

0

98

2

프라이빗 폴더를 해야 하는 이유가 모호한 것 같아요.

0

85

2

vanilla-extract 못찾는 문제

0

230

2

fetch 캐싱과 revalidate 관련

0

84

2