원본 링크: https://nextjs.org/docs/app/api-reference/functions/not-found
위 문서에 대한 번역을 진행합니다.
번역시점은 05-11으로 공식문서의 추가적인 업데이트가 있을 수 있습니다.
DeepL translator와 ChatGPT에 의존해서 번역하고 있습니다.
번역체를 자연스러운 어투로 옮기는 과정에서 오역이 발생할 수 있는 점 미리 알립니다.
이에 대한 피드백은 댓글로 알려주시면 감사하겠습니다.
한글로 번역하는 것이 더 어색한 경우 원문을 먼저 표기하겠습니다.
notFound
notFound 함수를 사용하면 경로 세그먼트 내에서 [not-found file](<https://nextjs.org/docs/app/api-reference/file-conventions/not-found>) 을 렌더링할 수 있을 뿐만 아니라 <meta name="robots" content="noindex" /> 태그를 삽입할 수도 있습니다.
[notFound()](<https://nextjs.org/docs/app/api-reference/functions/not-found#notfound>)
notFound() 함수를 호출하면 NEXT_NOT_FOUND 에러가 발생하고 에러가 발생한 경로 세그먼트의 렌더링이 종료됩니다. **not-found** file 을 지정하면 세그먼트 내에서 Not Found UI를 렌더링하여 이러한 오류를 우아하게 처리할 수 있습니다.
app/user/[id]/page.js
import { notFound } from 'next/navigation';
async function fetchUsers(id) {
const res = await fetch('https://...');
if (!res.ok) return undefined;
return res.json();
}
export default async function Profile({ params }) {
const user = await fetchUser(params.id);
if (!user) {
notFound();
}
// ...
}
Note: notFound() 는 타입스크립트 never 타입을 사용하기 때문에 return notFound()를 사용할 필요가 없습니다.