Foundation
PackagesUIComponents

NotFound

URLやリソースが存在しない場合にページ全体で表示する404コンポーネント。ステータスコード・説明・ナビゲーションアクションを組み合わせて、ユーザーを正しいページへ誘導する。

いつ使うか

  • Next.js の not-found.tsx など、URLに対応するページが存在しない場合に使用する
  • リソースが削除・移動された場合のフォールバック画面として使用する

いつ使わないか

  • データが0件の場合には使わない。EmptyState を使用する
  • サーバーエラー(500系)の表示には使わない。エラーの性質が異なるため、専用のエラー画面を用意する
  • 部分的なコンテンツの欠損には使わない。該当箇所に EmptyState を表示する

Usage

import { NotFound } from '@bi-shop-it/ui/not-found';

<NotFound />;

Props

Propデフォルト説明
titlestring"ページが見つかりません"見出しテキスト
descriptionstring"お探しのページは存在しないか、移動した可能性があります。"補足説明テキスト
childrenReactNode「ホームに戻る」ボタン等のナビゲーションアクション

バリエーション

デフォルト

Props なしでそのまま使える基本パターン。404・タイトル・説明テキストを表示する。

404

ページが見つかりません

お探しのページは存在しないか、移動した可能性があります。

<NotFound />

ナビゲーションアクション付き

childrenActionLinkButton を渡して、ホームページへの導線を提供する。

404

ページが見つかりません

お探しのページは存在しないか、移動した可能性があります。

ホームに戻る
<NotFound>
  <ActionLinkButton
    href="/"
    icon="Home"
    label="ホームに戻る"
    size="sm"
    variant="outline"
  />
</NotFound>

カスタムテキスト

titledescription を上書きして、状況に応じたメッセージを表示する。

404

お探しのページは存在しません

このページは削除されたか、URLが変更された可能性があります。

<NotFound
  description="このページは削除されたか、URLが変更された可能性があります。"
  title="お探しのページは存在しません"
/>

アクセシビリティ

コンポーネントが内部で処理すること

  • data-slot="not-found" 属性を付与し、テスト・スタイリングの対象として識別可能にする
  • テキストコンテンツのみで構成されるため、スクリーンリーダーが自然に読み上げることができる

利用者が対応すること

  • ナビゲーションボタンを配置する場合は、ボタン自体に適切なラベルを設定すること
  • Next.js の not-found.tsx で使用する場合、HTTPステータスコード 404 はフレームワーク側で設定されるため、コンポーネント側での対応は不要

関連コンポーネント

  • EmptyState — データが0件の場合に使用する。NotFound はURLやリソースの不在に対して使用する
  • ActionLinkButton — ナビゲーションアクションとして children に渡すことが多い

On this page