inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

서버 컴포넌트 렌더링 질문

98

jojeon4515

작성한 질문수 2

0

안녕하세요 선생님. "Suspense로 Streaming하여 최적화하기(feat. loading.tsx, error.tsx)" 강의 내용중에 궁금한점이 있어 질문드립니다.

강의에서 5:42 ~ 6:35 시간 구간에서의 내용에 관해서 이해가 잘 안되는 부분이 있는데요. 홈 화면에 처음 들어올 때에는 로딩스피너가 안보이고 탐색하기 등 다른 페이지에서 홈 화면으로 들어오면 로딩스피너가 보이는 이유를 설명해주시는 부분입니다.

홈 화면에 처음 들어왔을 때에는 홈 화면에 해당하는 page.tsx를 서버에서 다 그려주기 때문에 로딩 상태가 없어서 로딩스피너가 안보이고, explore에 있다가 클라이언트에서 홈으로 넘어갈 때에는 explore에서 홈 페이지를 새로 로딩을 하기 때문에 로딩 스피너가 뜨는거라고 설명해주셨는데요. "explore에서 홈 페이지를 새로 로딩을 한다" 라는게 무슨 말인지 잘 모르겠습니다 ㅠ page.tsx가 CSR이 된다는 것인가요?

저는 어떤 페이지에 들어오면 그 페이지에 해당하는 page.tsx가 실행되는걸로 알고 있었는데 아닌가요? 홈의 page.tsx는 서버 컴포넌트인데 왜 홈에 처음 들어왔을 때만 page.tsx가 서버에서 실행되고 그 이후에는 마치 클라이언트에서 데이터 패칭하고 그에 따라 렌더링이 되는것처럼 "로딩"이라는 상태가 존재하는것인지가 궁금합니다.

 

next.js react

답변 1

0

제로초(조현영)

next.js는 첫 페이지 로딩만 SSR이고 그 다음 페이지부터는 CSR처럼 동작합니다. 물론 그 때도 서버 컴포넌트는 서버에서 실행되긴하지만 결과물은 JSON같은 형식으로 클라이언트에 전송되어 CSR됩니다.

0

jojeon4515

아하.. 그럼 서버 컴포넌트가 실행된 결과물이 JSON같은 형식으로 클라이언트에 전송되어 "CSR 된다"는게 그 json같은 결과물을 클라이언트 측에서 해석하고 실제 DOM트리로 그리는 건가요? 그리고 그 과정에서 로딩 상태가 발생하는 것이구요

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

0

98

2

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

0

130

2

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

0

105

1

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

0

124

2

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

0

159

2

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

0

139

1

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

0

124

1

useSuspenseQuery 사용 시 SSR 401 이슈 관련

0

181

1

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

0

198

3

폴링이 필요없는 이유

0

103

2

next Request Memoization과 react cache

0

116

2

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

0

92

2

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

0

176

2

프레임워크 여론 파악법

0

133

2

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

0

112

2

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

0

112

2

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

0

71

2

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

0

139

2

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

0

145

1

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

0

103

2

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

0

105

2

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

0

93

2

vanilla-extract 못찾는 문제

0

237

2

fetch 캐싱과 revalidate 관련

0

95

2