기존 풀 라우트 캐시 강의에서 어떤 페이지들을 static 하게 만들기 위해 해당 페이지에 존재하는 모든 컴포넌트들을 검사했다.
이렇게 모든 컴포넌트들을 다 체크하지 않아도 강제로 특정 페이지를 static 또는 dynamic 페이지로 설정한다던지, 페이지의 revalidate 타임을 강제로 설정하는 것처럼 페이지의 동작을 강제로 설정할 수 있는 라우트 세그먼트 옵션에 대해 알아보자.
사실 Next.js 에서 권장하는 방식은 아니다.ㅎ
이전 실습 코드에서 본 dynamicParams = false
로 할당하게되면, id가 1,2,3이 아닌 경로를 없다고 판단하여(실제론 존재) 404 페이지로 전환해주는 것처럼 페이지의 설정을 강제로 조정하는 이러한 기능들이 라우트 세그먼트 옵션 이다
//export default async function Page 바깥에 선언
export const dynamic = ''
특정 페이지의 유형을 강제로 Static, Dynamic 페이지로 설정
페이지 내부의 동적 함수나 데이터 캐시 유무를 따지지 않고 무작정 설정
1. auto: 디폴트값, 아무것도 강제하지 X
2. force-dynamic: 페이지를 강제로 Dynamic 페이지로 설정
3. force-static: 페이지를 강제로 Static 페이지로 설정
// 동적 함수가 있는 페이지에서 force-static 을 설정하게되면 동적함수 searchParams의 값이 undefined로 됨 (버그)
4. error: 페이지를 강제로 Static 페이지로 설정 (설정하면안되는 이유->빌드 오류)
// 동적 함수가 있는 페이지에서 빌드 오류 뜨게함.