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

Breadcrumbブロック

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


🚀 インストール

npm install @nodeblocks/frontend-breadcrumb-block

📖 使用法

import {Breadcrumbs} from '@nodeblocks/frontend-breadcrumb-block';
ライブエディター
  function BasicBreadcrumb() {
    return (
      <Breadcrumbs>
        <Breadcrumbs.BreadcrumbItem url="#home">
            ホーム
        </Breadcrumbs.BreadcrumbItem>
        <Breadcrumbs.BreadcrumbChevron />
        <Breadcrumbs.BreadcrumbItem url="#products">
            プロダクト
        </Breadcrumbs.BreadcrumbItem>
      </Breadcrumbs>
    );
  }
結果
Loading...

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

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

プロパティデフォルト説明
classNamestringundefinedブレッドクラムコンテナのスタイリング用の追加CSSクラス名
childrenBlocksOverrideundefinedデフォルトブロックをオーバーライドするか、カスタムブレッドクラムアイテムを追加する関数

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

サブコンポーネント

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

プロパティデフォルト説明
urlstring必須ブレッドクラムリンクのURL/href
childrenReactNode必須ブレッドクラムアイテムテキストとして表示するコンテンツ

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

このコンポーネントはプロパティを受け取らず、シェブロンセパレーターをレンダリングします。


🔧 TypeScriptサポート

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

import {Breadcrumbs} from '@nodeblocks/frontend-breadcrumb-block';
import {ComponentProps, ReactNode} from 'react';

// メインコンポーネントインターフェース
interface BreadcrumbProps extends Omit<ComponentProps<'nav'>, 'children'> {
children?: BlocksOverride<DefaultBlocks, CustomBlocks>;
className?: string;
}

// BreadcrumbItemインターフェース
interface BreadcrumbItemProps extends Omit<ComponentProps<'a'>, 'children'> {
url: string;
children: ReactNode;
}

// データ構造付き使用例
interface BreadcrumbItem {
key: string;
url: string;
label: string;
}

const breadcrumbItems: BreadcrumbItem[] = [
{ key: 'home', url: '#home', label: 'ホーム' },
{ key: 'products', url: '#products', label: 'プロダクト' },
{ key: 'current', url: '#products/laptop', label: 'ラップトップ' },
];

// アンカープロパティ付きの例
function AdvancedBreadcrumb() {
return (
<Breadcrumbs>
{breadcrumbItems.map((item, index) => (
<>
<Breadcrumbs.BreadcrumbItem key={item.key} url={item.url}>
{item.label}
</Breadcrumbs.BreadcrumbItem>
{index < breadcrumbItems.length - 1 && <Breadcrumbs.BreadcrumbChevron />}
</>
))}
</Breadcrumbs>
);
}

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