학습 문서/api reference/file conventions/route segment config

dynamicParams#

학습 목표#

  • generateStaticParams가 반환하지 않은 다이나믹 path의 동작을 결정한다.
  • Cache Components에서 사용할 수 없다는 제한을 이해한다.

핵심 개념 및 설명#

dynamicParams 옵션을 사용하면 generateStaticParams로 생성되지 않은 다이나믹 세그먼트를 방문할 때 발생하는 상황을 제어할 수 있다.

layout.tsxtsx
export const dynamicParams = true // 사실 | 거짓
layout.jsjs
export const dynamicParams = true // 사실 | 거짓
  • `true`(기본값):generateStaticParams에 포함되지 않은 다이나믹 라우트 세그먼트는 요청 시 생성된다.
  • `false`:generateStaticParams에 포함되지 않은 다이나믹 라우트 세그먼트는 404를 반환한다.
알아두면 좋은 점:
- 이 옵션은 pages 디렉터리에 있는 getStaticPathsfallback: true | false | blocking 옵션을 대체한다.
- Cache Components가 활성화된 경우에는 dynamicParams를 사용할 수 없다.

예제 및 데모 설계#

  • Phase 2에서 generateStaticParams에 없는 slug를 요청하고 true/false 결과를 비교한다.

연습 문제#

  1. dynamicParams = false에서 목록에 없는 slug의 결과는?
  • A. 404
  • B. 요청 시 생성
  • C. redirect
정답 보기

정답: A. 미리 생성하지 않은 다이나믹 path를 허용하지 않는다.

챕터 요약#

  • dynamicParams는 미생성 params의 처리 방식을 정한다.
  • 기본값 true는 요청 시점 생성을 허용한다.
  • false는 404를 반환한다.
  • Cache Components에서는 지원하지 않는다.

이 문서의 실습 데모