이 페이지는 매 요청마다 서버에서 렌더링됩니다. 새로고침하면 아래 타임스탬프가 매번 변합니다.
렌더링 시각 (매 요청마다 갱신):
PM 5:01:38
새로고침해보세요 — 시각이 매번 변합니다.
// dynamic-page/page.tsx
export const dynamic = 'force-dynamic';
// → 매 요청마다 서버에서 렌더링
const DynamicRenderingPage = async () => {
const now = new Date().toLocaleTimeString('ko-KR');
return (
<div>
<p>렌더링 시각: {now}</p>
{/* 요청마다 실행 → 매번 다른 시각 */}
</div>
);
};// 방법 1: Route Segment Config
export const dynamic = 'force-dynamic';
// 방법 2: Dynamic API 사용
import { cookies } from 'next/headers';
const cookieStore = await cookies();
// 방법 3: Dynamic API 사용
import { headers } from 'next/headers';
const headerList = await headers();
// 방법 4: searchParams 접근
const Page = async (props) => {
const searchParams = await props.searchParams;
};핵심: Dynamic rendering은 사용자별 맞춤 데이터(쿠키, 헤더)나 요청 시점 데이터가 필요할 때 사용합니다. Static에 비해 느리지만, 항상 최신 데이터를 보장합니다.