데이터 부재를 정상적인 404 경로로 전환합니다.
notFound()는 현재 route segment 렌더를 중단하고 가장 가까운 not-found UI를 사용합니다. 권한 거부와 서버 오류를 404로 뭉개지 않고 의미를 구분합니다.
동적 리소스 조회 결과가 없을 때 사용하며 실제 not-found.jsx에서 복구 탐색을 제공합니다.
검색엔진과 캐시가 올바르게 이해하도록 상태 의미를 보존합니다.
예상하지 못한 DB 장애까지 notFound로 바꾸면 운영 장애가 숨겨집니다.
로컬 프로젝트에서 확인해보세요course를 null로 바꿔 Next.js 기본 404 결과를 확인한 뒤 다시 복구하세요.
import { notFound } from "next/navigation";
async function findCourse() {
return { id: "next", title: "Next.js 실무" };
}
export default async function Page() {
const course = await findCourse();
if (!course) notFound();
return (
<main>
<h1>{course.title}</h1>
<p>ID {course.id}</p>
</main>
);
}