mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
#52486 Here I fixed the typo error of fetchUsers to fetchUser in docs/api-reference/04-functions/not-found.mdx async function fetchUser(id) { // Here instead of fetchUsers i changed it to fetchUser 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() } // ... } https://nextjs.org/docs/app/api-reference/functions/not-found
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
---
|
|
title: notFound
|
|
description: API Reference for the notFound function.
|
|
---
|
|
|
|
The `notFound` function allows you to render the [`not-found file`](/docs/app/api-reference/file-conventions/not-found) within a route segment as well as inject a `<meta name="robots" content="noindex" />` tag.
|
|
|
|
## `notFound()`
|
|
|
|
Invoking the `notFound()` function throws a `NEXT_NOT_FOUND` error and terminates rendering of the route segment in which it was thrown. Specifying a [**not-found** file](/docs/app/api-reference/file-conventions/not-found) allows you to gracefully handle such errors by rendering a Not Found UI within the segment.
|
|
|
|
```jsx filename="app/user/[id]/page.js"
|
|
import { notFound } from 'next/navigation'
|
|
|
|
async function fetchUser(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()
|
|
}
|
|
|
|
// ...
|
|
}
|
|
```
|
|
|
|
> **Good to know**: `notFound()` does not require you to use `return notFound()` due to using the TypeScript [`never`](https://www.typescriptlang.org/docs/handbook/2/functions.html#never) type.
|
|
|
|
## Version History
|
|
|
|
| Version | Changes |
|
|
| --------- | ---------------------- |
|
|
| `v13.0.0` | `notFound` introduced. |
|