not-found.js
not-foundファイルは、ルートセグメント内でnotFound
関数がスローされた際にUIをレンダリングするために使用されます。カスタムUIの提供に加えて、Next.jsはストリーミングレスポンスでは200
のHTTPステータスコード、非ストリーミングレスポンスでは404
を返します。
補足: 予期された
notFound()
エラーをキャッチすることに加えて、ルートのapp/not-found.js
ファイルはアプリケーション全体の一致しないURLも処理します。つまり、アプリによって処理されないURLにアクセスしたユーザーには、app/not-found.js
ファイルでエクスポートされたUIが表示されます。
Props
not-found.js
コンポーネントはpropsを受け取りません。
データフェッチ
デフォルトで、not-found
はサーバーコンポーネントです。データのフェッチと表示のためにasync
とマークできます:
usePathname
のようなクライアントコンポーネントのフックを使用してパスに基づいたコンテンツを表示する必要がある場合は、代わりにクライアント側でデータをフェッチする必要があります。
バージョン履歴
バージョン | 変更点 |
---|---|
v13.3.0 | ルートのapp/not-found がグローバルの一致しないURLを処理。 |
v13.0.0 | not-found が導入。 |