inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

손에 익는 Next.js - 공식 문서 훑어보기

클라이언트 컴포넌트는 SSG? SSR?

해결된 질문

859

985

작성한 질문수 2

2

이전 질문글에 답글을 남겼는데, 확인하기 힘드실 것 같아 질문을 새로 작성합니다. 클라이언트 컴포넌트는 기존 Next12처럼 Pre-Rendering으로 제공된다고 알고 있는데, 이는 기본적으로 SSG인가요? 아니면 SSR인가요? 또 둘 중에 선택이 가능한지 궁금합니다!

react typescript next.js next.js13

답변 2

2

하조은

확인을 위해 질문으로 달아주셨는데 제가 확인이 늦었습니다!
우선, 좋은 질문 남겨주셔서 감사합니다.

 

App Router에서 클라이언트 컴포넌트는 기본적으로 SSR 입니다. 공식 문서에서 클라이언트 컴포넌트를 설명할 때 HTML을 내려주고 하이드레이션 단계를 수행한다고 설명하고 있습니다.

기존의 Page Router에서 사용하는 SSR, SSG는 페이지 단위의 렌더링입니다. App Router에서도 페이지 단위로 이를 결정할 수 있는 방법을 제공합니다. dynamic 옵션을 이용할 수 있습니다.

아래와 같이 주는 설정하는 방법인데 동적인 컴포넌트 생성이 있으면 에러를 반환하도록 만들어 정적인 페이지 생성을 가이드하는 옵션입니다.

export const dynamic = 'error'

 

설정 자체가 그렇게 친절하지 않은 점으로 봤을 땐, App Router에서 권하는 방법이라고 보긴 어려울 것 같습니다. App Router부터는 컴포넌트 단위의 최적화를 권장하는 걸로 이해하면 좋겠네요. 이런 기조는 Next.js 블로그에서 확인하실 수 있습니다. (참고)

 

985님께서 남겨주신 것과 유사한 질문이 Next.js 저장소에도 있어서 링크를 남겨두겠습니다.
https://github.com/vercel/next.js/discussions/54114

 

다시 한 번, 좋은 질문 남겨주셔서 정말 감사합니다.

2

985

친절한 답변 감사드립니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
Next.js에서 클라이언트 컴포넌트는 서버에서 미리 렌더링된 마크업(HTML)을 제공하는 방식으로 구현될 수 있습니다. 이 방식은 SSG(Static Site Generation)와 SSR(Server-Side Rendering) 둘 다 포함하는데, Next.js에서는 다음과 같은 방식으로 선택하여 사용할 수 있습니다.

  • SSG를 사용하려면, getStaticProps (정적 데이터를 위한 함수)를 사용하여 빌드 시점에 HTML을 생성할 수 있습니다.
  • SSR을 사용하려면, getServerSideProps (동적 데이터를 위한 함수)를 사용하여 요청이 있을 때마다 서버에서 HTML을 생성하고 제공할 수 있습니다.

Next.js는 개발자가 각각의 페이지와 컴포넌트에 대해 필요에 따라 SSG 또는 SSR 방식을 선택할 수 있도록 유연성을 제공합니다. Next12 버전에서도 이 두 가지 방식은 선택적으로 사용 가능한데, 필요에 따라서 페이지로딩 시 정적으로 생성될지, 아니면 서버에서 동적으로 렌더링될지 선택할 수 있습니다.

만약 Next.js의 공식 문서를 좀 더 자세히 살펴보고 싶으시면, Next.js 공식 문서(https://nextjs.org/docs)를 참고하시면 도움이 될 것입니다.

안녕하세요! 서비스 배포를 하는데 에러가 생겨서 문의드립니다!

1

543

1

안녕하세요 generateStaticParams 관해서 질문

0

366

2

next/image에 대한 질문

1

266

1

데이터 재검증 방법

1

277

2

next.js 에서 서버 컴포넌트 비중을 늘리는 이유

1

346

1

route.ts에 async 키워드가 필요한가요?

1

191

1

import 절대경로 설정 방법 질문 드립니다!

0

306

1

VSCode 확장프로그램은 어떤 것을 사용하셨나요?

0

338

1

환경변수 오류

1

243

1

하이드레이션 질문 드립니다

2

318

2

프론트엔드가 Next를 이용하여 API 만드는 이유가 궁금합니다~!

3

735

1

generateStaticParams에 대하여 질문 드립니다~!

2

867

1

선생님 혹시 Next.js 13에서의 React-query는 어떻게 생각하실까요?

2

1947

3

SSR과 RSC의 차이점에 관하여 질문이 있습니다.

1

1287

1

nextjs의 14버전에서 data fetch

1

1422

1

비동기 호출, fetch, 라우트 핸들러 관련 질문입니다.

1

427

1

revalidate 질문

1

479

1

섹션3. 날씨 재검증하기 NextRequest 질문입니다.

1

337

1

메타데이터 관련 질문

0

214

1

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

2

327

1

Revalidate 부분 질문

0

345

1

서버 컴포넌트 관련 질문입니다!

3

1690

5

Data Fetching 관련 질문 있습니다~

2

521

1

useRouter 를 import 할때 next/router만 뜨는 경우

0

611

2