メインコンテンツまでスキップ

Errorブロック

ErrorBlock は、MUI 上に構築された中央揃えのエラーステータスレイアウトです。

インストール

npm install @nodeblocks/frontend-error-block

必要なもの

項目用途
errorTitleタイトルブロックに表示するメイン見出し
subtitleタイトル下に表示する補足メッセージ
actionHrefプライマリアクションボタンの遷移先 URL
actionTextプライマリアクションボタンのラベル
titleErrorCode (任意)タイトルの上に表示する短いコードまたはラベル(例: Error 404
静的コンテンツ用プロパティ

ErrorBlock はメッセージの状態を管理しません。コピーとリンクはプロパティとして直接渡してください。

コード例

ライブエディター
function Example() {
  return (
    <ErrorBlock
      errorTitle="ページが見つかりません"
      subtitle="アクセスしようとしたページは見つからないか、すでに存在しません。"
      actionHref="#home"
      actionText="ホームに戻る"
    />
  );
}
結果
Loading...

主要プロパティ

コアプロパティ

プロパティ必須デフォルト説明
errorTitlestringはい-メインのエラー見出し
subtitlestringはい-タイトル下の補足メッセージ
actionHrefstringはい-プライマリアクションボタンの href
actionTextstringはい-プライマリアクションボタンのラベル

コンテンツプロパティ

プロパティ必須デフォルト説明
titleErrorCodestringいいえundefinederrorTitle の上に表示する任意のコードまたはラベル

レイアウトと構成プロパティ

プロパティ必須デフォルト説明
childrenBlocksOverride | ReactNodeいいえundefined複合サブコンポーネント、またはブロックオーバーライド関数
spacingStackProps['spacing']いいえ4描画されるブロック間の縦方向の間隔
blockSpacingBeforeRecord<string, StackProps['spacing']>いいえ{ title: { xs: 2, sm: 3 }, action: { xs: 4, sm: 6 } }特定のブロック(icontitlesubtitleaction)の前に上マージンを追加
classNamestringいいえundefinedルートコンテナのクラス名(nbb-error-block も適用されます)
sxSxPropsいいえundefinedルート Stack 用の MUI システムスタイル

ErrorBlockStackPropschildren を除く)を継承するため、ルートでは標準のレイアウトプロパティをサポートします。デフォルトのブロック順序は icontitlesubtitleaction です。

サブコンポーネントはコンテキストから値を読み取り、MUI プロパティの一部を受け取れます:

  • ErrorBlock.IconErrorOutlined のプロパティ(sxclassName など)
  • ErrorBlock.TitleTypography のプロパティに加え、任意の titleErrorCodeerrorTitlechildren
  • ErrorBlock.SubtitleTypography のプロパティに加え、任意の subtitle または children
  • ErrorBlock.ActionButton のプロパティに加え、任意の actionHrefactionTextchildren

デフォルト UI ブロック

ブロックベース備考
ErrorBlock (ルート)StackmaxWidth: 350textAlign="center"、デフォルト spacing={4} の中央揃えコンテナ
ErrorBlock.IconErrorOutlinedsecondary.main を使った 48px アイコン
ErrorBlock.TitleTypography (variant="h4")設定時は titleErrorCode をタイトルの上に表示
ErrorBlock.SubtitleTypographysubtitle からのサブタイトル文言
ErrorBlock.ActionButton (variant="contained")actionHref へ遷移

TypeScript

import {ErrorBlock} from '@nodeblocks/frontend-error-block';
import type {ComponentProps} from 'react';

type ErrorBlockProps = ComponentProps<typeof ErrorBlock>;

function NotFoundError(props: Pick<ErrorBlockProps, 'actionHref' | 'actionText'>) {
return (
<ErrorBlock
errorTitle="ページが見つかりません"
subtitle="リクエストされたページは存在しないか、移動されました。"
titleErrorCode="Error 404"
{...props}
/>
);
}