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

Errorブロック

ErrorBlockコンポーネントは、ReactとTypeScriptで構築された完全にカスタマイズ可能でアクセシブルなエラー表示コンポーネントです。モダンなデザインパターン、柔軟なカスタマイズオプション、カスタムエラーメッセージとアクションのサポートを備えた完全なエラーインターフェースを提供します。


🚀 インストール

npm install @nodeblocks/frontend-error-block

📖 使用法

import {ErrorBlock} from '@nodeblocks/frontend-error-block';
ライブエディター
function BasicErrorBlock() {
  return (
    <ErrorBlock
      errorTitle="何かが間違っています"
      subtitle="予期しないエラーが発生しました。もう一度お試しいただくか、問題が続く場合はサポートにお問い合わせください。"
      actionHref="#home"
      actionText="ホームに戻る"
      titleErrorCode="Error 404">
      <ErrorBlock.Icon icon="error_outline" />
      <ErrorBlock.Title />
      <ErrorBlock.Subtitle />
      <ErrorBlock.Action>
        戻る
      </ErrorBlock.Action>
    </ErrorBlock>
  );
}
結果
Loading...

🔧 プロパティリファレンス

メインコンポーネントプロパティ

プロパティデフォルト説明
errorTitlestring必須目立つように表示されるエラーメッセージのタイトル
subtitlestring必須エラーに関する追加のコンテキストを提供するサブタイトル
actionHrefstring必須アクションボタンナビゲーション用のURL
actionTextstring必須アクションボタンに表示するテキスト
titleErrorCodestringundefinedタイトルの上に表示されるエラーコード(例:"Error 404")
classNamestringundefinedエラーコンテナのスタイリング用の追加CSSクラス名
childrenBlocksOverrideundefinedデフォルトレンダリングをオーバーライドするカスタムブロックコンポーネント

注意: メインコンポーネントはすべてのHTML div要素プロパティを継承します。

サブコンポーネント

ErrorBlockコンポーネントは複数のサブコンポーネントを提供します。すべてのサブコンポーネントは、メインコンポーネントのコンテキストからデフォルト値を受け取り、プロパティを通じてこれらの値をオーバーライドできます。

ErrorBlock.Icon

プロパティデフォルト説明
iconenum"error_outline"表示するアイコン名 - マテリアルデザインアイコンをサポート
iconSizeenum"3-extra-large"アイコンのサイズ
colorenum"mid-emphasis"アイコンのカラーテーマ
classNamestringundefinedスタイリング用の追加CSSクラス名
isDisabledbooleanfalseアイコンが無効かどうか
onClickfunctionundefinedアイコンクリックを処理する関数

ErrorBlock.Title

プロパティデフォルト説明
titleErrorCodeReactNodeコンテキストからタイトルの上に表示するエラーコード
childrenReactNodeコンテキストからタイトルコンテンツ - コンテキストのerrorTitleをオーバーライド
sizeenum"2XL"タイトルのタイポグラフィサイズ
typeenum"heading"タイポグラフィタイプ
colorenum"low-emphasis"タイトルのカラーテーマ
weightenum"bold"タイトルの太さ
classNamestringundefinedスタイリング用の追加CSSクラス名

ErrorBlock.Subtitle

プロパティデフォルト説明
childrenReactNodeコンテキストからタイトルコンテンツ - コンテキストのerrorTitleをオーバーライド
sizeenum"S"タイトルのタイポグラフィサイズ
typeenum"heading"タイポグラフィタイプ
colorenum"low-emphasis"タイトルのカラーテーマ
weightenum"regular"タイトルの太さ
classNamestringundefinedスタイリング用の追加CSSクラス名

ErrorBlock.Action

プロパティデフォルト説明
actionHrefstring必須アクションボタンナビゲーション用のURL
childrenReactNode必須ボタン内に配置するテキスト
classNamestringundefinedスタイリング用の追加CSSクラス名
fillenum"fill"ボタンの塗りつぶしスタイル
iconenumundefinedボタンの左側のオプションアイコン
iconColorenumundefined左側アイコンの色。提供されない場合、塗りつぶしタイプのデフォルト色が使用されます
isDisabledbooleanfalseボタンが無効で使用できないかどうか
onClickfunctionundefinedボタンクリックを処理する関数
sizeenum"M"ボタンの垂直サイズ
textAlignenum"center"ボタン内のアイコンとテキストの位置
textColorenum"default"ボタンテキストの色
textEmphasisbooleanfalseボタンテキストの太さ
textSizeenum"M"ボタンテキストのサイズ
typeenum"submit"ボタンの目的(htmlタイプに影響)

🔧 TypeScriptサポート

包括的な型定義による完全なTypeScriptサポート:

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

// メインコンポーネントインターフェース
interface ErrorBlockProps extends Omit<ComponentProps<typeof ErrorBlock>, 'children'> {
className?: string;
errorTitle: string;
subtitle: string;
actionHref: string;
actionText: string;
titleErrorCode?: string;
}

// プロパティオーバーライドの例
function CustomErrorBlock() {
return (
<ErrorBlock
errorTitle="サーバーエラー"
subtitle="サーバーに問題が発生しています。後でもう一度お試しください。"
actionHref="/dashboard"
actionText="ダッシュボードに戻る"
titleErrorCode="Error 500">
<ErrorBlock.Icon icon="error_outline" color="primary" iconSize="3-extra-large" />
<ErrorBlock.Title titleErrorCode="🚨 Error 500" size="3XL" color="error">
重大なサーバーエラー
</ErrorBlock.Title>
<ErrorBlock.Subtitle color="mid-emphasis">
この問題の修正に取り組んでいます。数分後に更新してみてください。
</ErrorBlock.Subtitle>
<ErrorBlock.Action size="M" fill="fill" actionHref="/support">
サポートに連絡
</ErrorBlock.Action>
</ErrorBlock>
);
}


React、TypeScript、モダンWebスタンダードを使用して❤️で構築されました。