antdのインストールコマンド

npmを使用する場合:
npm install antd
yarnを使用する場合:
yarn add antd

antdのFormコンポーネントについて


	const [form] = Form.useForm(); // フォームインスタンスを作成
	
	// フォーム送信時に呼ばれる関数
	const onFinish = (values) => {
	  console.log('Received values of form:', values);
	};
	
	// 初期値の設定
	const params = {
	  username: 'JohnDoe',
	  age: 30,
	};
	
	return (
	  <Form
	    form={form}
	    layout="vertical"
	    onFinish={onFinish}
	    initialValues={params}
	  >
	    {/* フォームフィールドの定義 */}
	  </Form>
	);
	
antd(Ant Design)の Form コンポーネントは、Reactでフォームを扱う際に豊富な機能とUIを提供するコンポーネントです。 それぞれのプロパティ(属性)は、以下のように振る舞います。 form: form プロパティは、Form.useForm() フックによって作成されたformインスタンスを受け取ります。 この formインスタンスは、以下のような機能を提供します: ・フォームフィールドの値を取得する。 ・フォームフィールドの値を設定する。 ・フォームのバリデーションを実行する。 ・フォームをリセットする。 layout: layout プロパティは、フォームフィールドのレイアウトを定義します。 'vertical' と設定することで、ラベルとフォームフィールドが垂直に配置されるようになります。 他にも 'horizontal'(デフォルト、ラベルとフィールドが水平に配置)や 'inline'(すべてのフィールドがインラインで配置)といったオプションがあります。 onFinish: onFinish プロパティは、フォームの送信(サブミット)ボタンが押され、かつ入力データがバリデーションを通過した後に実行されるコールバック関数を受け取ります。 この関数はフォームのデータを引数として受け取り、フォーム送信後の処理(例えばサーバーへのデータ送信など)を行うために使用されます。 initialValues: initialValues プロパティは、フォームのフィールドに対する初期値をオブジェクトの形式で提供します。 各キーはフォーム内のフィールド名に対応し、それぞれの初期値を設定できます。これは、フォームに既存のデータをロードする際や、デフォルト値を設定する際に便利です。

antdのRowコンポーネントについて

antdのRowコンポーネントは、Ant Designのグリッドシステムの一部であり、柔軟なレイアウトを実現するために使用されます。 これは、ウェブデザインを簡単に実装するためのもので、内部的にはCSSのFlexboxレイアウトを使用しています。 Rowコンポーネントは、一連のColコンポーネントを子要素として取り、それらを水平方向に並べるコンテナとして機能します。以下の特徴を持っています: Flexboxレイアウト: Rowはその下にあるCol要素に対してFlexboxレイアウトを適用しています。 グリッドシステム: Ant Designのグリッドシステムは、24の等しい分割を基本としています。 24の値を振り分けてCol要素を幅を決めます。 Bootstrapにも同様なグリッドシステムがありますが、Bootstrapは12を振り分けてレイアウトします。 レスポンシブデザイン: RowとColはレスポンシブデザインに対応しています。 レスポンシブデザインとは、画面のサイズに応じて自動的にレイアウトを調整することです。 Colにはxs, sm, md, lg, xl, xxlといったプロパティを使用して、異なる画面サイズでの振る舞いを指定できます。Bootstrap5を知っている人ならお同じみの機能です。 ガッター: Rowコンポーネントはgutterプロパティを持っており、これを使用して隣接するColコンポーネント間の間隔(ガッター)を指定することができます。 以下は、RowとColを使った基本的な例です:

function MyGridComponent() {
  return (
    <Row gutter={16}>
      <Col span={12}>
        <div>左側のコンテンツ</div>
      </Col>
      <Col span={12}>
        <div>右側のコンテンツ</div>
      </Col>
    </Row>
  );
}
この例では、Rowコンポーネントは2つのColコンポーネントを含んでおり、各Colは24のうち12の幅を占めています。 gutter={16}は、Col要素間に16ピクセルのガッター(間隔)を設けることを意味しています。 これにより、左右のColコンテンツの間に適切なスペースが生まれ、レイアウトが整います。

Colコンポーネント

Ant Design の Col コンポーネントは、グリッドシステム内でコンテンツのレイアウトを作成するために使用されます。 24グリッドシステムに基づいており、レスポンシブなページレイアウトを実現するためにRowと組み合わせて使用されます。 24グリッドシステムとはBootstrapのグリッドと同様の仕様です。ちなみにBootstrapは12グリッドシステムです。 Col コンポーネントは以下のプロパティを持っています: style: cssを記述できます。 span: グリッドのカラム数を指定します。値は 0 から 24 までの範囲で、例えばspan={6}は、全体の 1/4 の幅をカラムが占めることを意味します。 offset: カラムの左の余白(オフセット)の数を指定します。これにより、カラムの位置を調整することができます。 order: カラムの順番を指定します。デフォルトは 0 ですが、この値を変更することでカラムの順序を変えることができます。 push / pull: カラムを右(push)または左(pull)に動かすために使用されます。これにより、カラムの位置を微調整できます。 xs, sm, md, lg, xl, xxl: これらのプロパティを使用して、異なる画面サイズに対するカラムの振る舞いをレスポンシブに設定できます。 それぞれが異なる画面のブレークポイントに対応しており、オブジェクトを渡すことでspanやoffsetなどを各ブレークポイントごとに異なる設定にできます。 Col コンポーネントの基本的な使用例を以下に示します: jsx

import { Row, Col } from 'antd';

<Row>
  <Col span={12}>Column</Col>
  <Col span={12}>Column</Col>
</Row>
このコードは、2つのカラムを含む行を作成します。各カラムは全体の半分の幅を占めます。 レスポンシブな例は次のようになります:

<Row>
  <Col xs={24} sm={12} md={8} lg={6} xl={4}>
    Column
  </Col>
</Row>
この例では、最小の画面サイズ(xs)ではカラムが全幅を占め、画面サイズが大きくなるにつれてカラムの幅が小さくなっていくことを示しています。 これにより、デバイスの画面サイズごとに異なるレイアウトを提供できます。

Form.Item

Form.Item コンポーネントは、フォームフィールドを包むためのコンテナです。 Form.Item を使用することで、フォームコントロール(例:Input、Select、Checkbox など)にラベルをつけたり、バリデーションのフィードバック(エラーメッセージなど)を表示したり、フォームのレイアウトを整えることができます。 Form.Item は、次のような役割を持っています: ラベル: label プロパティを使用して、フィールドのラベルを設定できます。これによりユーザーはフィールドの目的を容易に理解できます。 フィールド名: name プロパティを使用して、フォームフィールドの名前を設定します。この名前は、フォームのデータを取得、送信する際に使われます。 バリデーション: Form.Item は、内部のフォームコントロールに関連するバリデーションルールを提供することができます。rules プロパティを使用して、必要なルールを設定することが可能です。 レイアウト: Form.Item は子コンポーネントのレイアウトを管理します。スタイリングや配置のためのスペースを提供することにより、一貫したフォームの外観を実現します。 フィードバック: バリデーションエラーが発生した場合、Form.Item はエラーメッセージを表示してユーザーにフィードバックを提供します。 以下の例では、Form.Item が Input コンポーネントを包んでおり、label と name プロパティが指定されています: JSX

<Form.Item label="テンプレート名" name="title">
  <Input style={{width: '200px'}} />
</Form.Item>
このコードでは、テキストボックスに「テンプレート名」というラベルが付けられ、そのフィールド名(name)は title とされています。 また、style プロパティを使用して Input の幅を200ピクセルに指定しています。 フォームが送信されたときに、このテキストボックスのデータは titleフィールドと関連づけられます。

Form.Itemはlabel,nameの他にどのようなプロパティ(属性)がありますか?

Form.Item コンポーネントは、フォームのレイアウトやバリデーションメッセージの表示など、フォームフィールドに関する多くの機能を担っています。 以下に、Form.Item でよく使用される主なプロパティ(属性)をリストアップします。 name: フォームフィールドの名前を指定します。 この名前をもとに、onFinish ハンドラーでデータを取得したり、setFieldsValue でフィールドの値を設定したりできます。 label: フォームフィールドのラベルを指定します。 これは、フィールドの上部または横に表示されるテキストです。 rules: フィールドに適用するバリデーションルールの配列です。 required, min, max, pattern などの標準ルールや、カスタムバリデーション関数を定義できます。 help: フィールドに関連するヘルプテキストを指定します。バリデーションエラー時にこのテキストが表示されます。 validateStatus: フォームフィールドのバリデーションステータスを指定します。通常は 'success', 'warning', 'error', 'validating' などの値があります。 hasFeedback: フィールドにバリデーションフィードバックアイコンを表示するかどうかを指定します。 required: このフィールドが必須かどうかを指定します。これを設定すると、ラベルの隣に必須マーク(アスタリスク)が表示されます。 initialValue: フィールドの初期値を指定します。 normalize: フォームコントロールから取得する値を変換するための関数を指定します。 shouldUpdate: 他のフィールドの変更によってこの Form.Item を再レンダリングするかどうかを制御するための関数またはブール値を指定します。 dependencies: このフィールドが依存する他のフィールドの名前を指定します。依存するフィールドの値が変わると、このフィールドが再検証されます。 hidden: フォームアイテムを非表示にするかどうかを指定します。 noStyle: スタイリングなしで Form.Item をレンダリングするかどうかを指定します。これを使用すると、バリデーションのみを行い、レイアウトは親要素が制御します。 これらはほんの一例であり、実際にはもっと多くのプロパティが Form.Item には存在します。

Selectコンポーネント

見本

import {Select} from 'antd';
const { Option, OptGroup } = Select; // インポートする際、Optionまたは、OptGroupの宣言も忘れずに。忘れるとなぞの警告エラーが出まくる。
	
~略~
	
<Select
	value={row.termTag}
	style={{ width: '100%' }}
	onChange={(value) => updateTerm(and_index, or_index, 'termTag', value)}
>
	{Object.entries(termTagList).map(([key, value]) => (
		<Option key={key} value={key}>{value}</Option>
	))}
</Select>
termTagListの構造

{
    "eq": "次に等しい( = )",
    "like": "含む",
    "over": "次の値より大きい( > )",
    "under": "次の値より小さい( < )",
    "or_over": "以上( >= )",
    "or_under": "以下( <= )"
}
値をセットするプロパティは「defaultValue」と「value」がある。 valueにすると他の要素で値を変更したとき、セレクトボックスの選択も連動して変化する。 defaultValueの場合は連動して変化することはない。
Select コンポーネントは、ユーザーがドロップダウンリストからオプションを選択するためのUIコントロールです。 HTMLの<select>タグに相当しますが、よりリッチな機能とスタイルを提供します。 基本的な特徴と機能: サイズ指定: sizeプロパティを使用して、大(large)、中(default)、小(small)の3種類のサイズを設定できます。 検索可能: showSearchプロパティを設定することで、選択肢をフィルタリングするための検索ボックスを有効にできます。 複数選択: modeプロパティをmultipleまたはtagsに設定することで、複数の選択肢を選ぶことができます。 tagsモードでは、新しいオプションを入力して追加することもできます。 オプションのグルーピング: OptGroupコンポーネントを使用して、関連する選択肢をグループ化できます。 カスタムレンダリング: optionLabelPropを使用して、選択肢のラベルの表示をカスタマイズできます。 さらに、dropdownRenderでドロップダウンのメニュー自体の表示をカスタマイズすることも可能です。 リモートデータの取得: onSearchプロパティを使用してユーザーが入力するたびにデータを取得するなど、動的にオプションをロードすることができます。 バリデーション: Form.Itemと組み合わせて使用することで、選択が必須であるなどのバリデーションルールを設定できます。 見本2

import { Select } from 'antd';

const { Option, OptGroup } = Select;

function handleChange(value) {
  console.log(`selected ${value}`);
}

ReactDOM.render(
  <Select defaultValue="lucy" style={{ width: 120 }} onChange={handleChange}>
    <OptGroup label="Manager">
      <Option value="jack">Jack</Option>
      <Option value="lucy">Lucy</Option>
    </OptGroup>
    <OptGroup label="Engineer">
      <Option value="Yiminghe">yiminghe</Option>
    </OptGroup>
  </Select>,
  document.getElementById('container')
);
このコードスニペットでは、Selectコンポーネントが2つのOptGroupを持ち、それぞれに複数のOptionが含まれています。 defaultValueでデフォルトで選択されているオプションを指定しており、onChangeハンドラを通じて選択が変更されたときの処理を定義しています。 Selectコンポーネントは様々なカスタマイズが可能であり、アプリケーションのUIに合わせて非常に柔軟に設定することができます。

Selectコンポーネントのプロパティ(属性)について

Ant Designの Select コンポーネントは、多くのプロパティ(属性)を持っており、これによりコンポーネントの挙動をカスタマイズできます。以下は、よく使用されるプロパティの一部です: value / defaultValue: コントロールの現在の値、またはコンポーネントの初期値。 options: 選択肢のリストを定義するオブジェクトの配列。各オブジェクトは少なくとも label(ユーザーに表示される)と value(選択時にコンポーネントが使用する)のプロパティを持つ必要があります。

<Select
  style={{width: '160px'}}
  allowClear
  options={animalTypes}
/>
style: styleを記述できます。 allowClear : allowClear はブール値のプロパティで、true に設定されている場合、選択した項目をクリアするための小さなクローズアイコン(×ボタン)がセレクトボックス内に表示されます。 これによりユーザーは選択を解除して、何も選択されていない状態に戻すことができます。 onChange: 値が変更されたときに呼び出される関数。選択された value を引数として受け取ります。 onSelect: ユーザーが選択肢を選択したときに呼び出される関数。選択された value と option オブジェクトを引数として受け取ります。 onDeselect: 複数選択可能なモードで選択肢が選択解除された時に呼び出される関数。解除された value を引数として受け取ります。 showSearch: 検索ボックスを表示するかどうかを決定するブール値。これにより、選択肢をフィルタリングできます。 filterOption: 検索時に選択肢をフィルタリングする方法をカスタマイズする関数、またはフィルタリングを有効/無効にするためのブール値。 mode: コンポーネントの動作モード(default, multiple, tags)。multiple または tags を設定すると、複数の選択肢を選択できます。 disabled: コンポーネントを無効にするブール値。 loading: データロード中の状態を示すためのスピナーを表示するブール値。 allowClear: 選択をクリアすることができる小さなクローズアイコンを表示するかどうかを決定するブール値。 size: コンポーネントのサイズ(large, default, small)。 placeholder: 選択肢が選ばれていない時に表示するテキスト。 dropdownMatchSelectWidth: ドロップダウンの幅がセレクトボックスと同じかどうかを決定するブール値または数値。 dropdownStyle: ドロップダウンのスタイルをカスタマイズするCSSプロパティ。 これらはほんの一例ですが、Select コンポーネントはこれ以外にも多くのプロパティを持っています。

Inputコンポーネント


const Neko = ({p_nekoName, p_nekoEnt, cbUpdateNekoEnt}) => {

	const [nekoEnt, setNekoEnt] = useState<any>({});
	
	useEffect(() => {
		setNekoEnt(p_nekoEnt);
	}, [p_nekoEnt]);
	
	const updateNekoEnt = (key, value) => {
		p_nekoEnt[key] = value;
		
		const newEnt = {...nekoEnt, [key]: value};
		setNekoEnt(newEnt);
		
		p_nekoEnt[key] = value;
		//cbUpdateNekoEnt(key, value); // コールバックを実行
	};

~略~
<Input
	placeholder="Neko name"
	value={nekoEnt.name}
	onChange={(e) => updateNekoEnt('name', e.target.value)}
/>
~略~

Ant Design(antd)の Input コンポーネントは、ユーザーがテキスト情報を入力するための基本的なUIです。 このコンポーネントはさまざまなプロパティを使用してカスタマイズが可能で、フォーム内で広く使用されます。 name属性はForm.Item側に記述するので注意です。 Input コンポーネントの基本的な使用法は次のとおりです: jsx

import { Input } from 'antd';

// 省略

<Form.Item label="猫名" name="cat_name">
  <Input style={{width: '200px'}} />
</Form.Item>

Input コンポーネントの主なプロパティ

value: インプットフィールドの現在の値。 defaultValue: コンポーネントの初期値。 onChange: テキストが変更されたときに呼び出される関数。 イベントオブジェクトを引数として受け取ります。 placeholder: インプットフィールドが空のときに表示されるプレースホルダーテキスト。 disabled: 入力不可にするかどうかのブール値。 size: インプットフィールドのサイズ(large, default, small)。 prefix: インプットフィールドの前に表示される接頭語のコンポーネント。 suffix: インプットフィールドの後に表示される接尾語のコンポーネント。 type: HTML5の type 属性と同様に、インプットタイプ(例えば text, password)。 allowClear: 入力クリア機能を追加

Input コンポーネントにはいくつかの内蔵されたタイプがあります:

Input.TextArea: 複数行のテキスト入力が可能なテキストエリア。 Input.Search: 検索機能を持ったインプットフィールド。enterButton プロパティで検索ボタンを追加することができます。 Input.Password: パスワード入力用のフィールド。目アイコンでパスワードの表示/非表示を切り替えることができます。 Input.Group: 複数のインプットフィールドをグループ化するためのコンテナ。 例えば、接頭語や接尾語を持つインプットフィールドを一緒に表示するときなどに使用します。

見本2 jsx


import { Input } from 'antd';

// ...

// テキストエリア
<Input.TextArea rows={4} placeholder="Type your message here" />

// 検索インプット
<Input.Search placeholder="Search something" onSearch={value => console.log(value)} enterButton />

// パスワードインプット
<Input.Password placeholder="Input password" />

// インプットグループ
<Input.Group compact>
  <Input style={{ width: '50%' }} defaultValue="0571" />
  <Input style={{ width: '50%' }} defaultValue="26888888" />
</Input.Group>

Buttonコンポーネント

Ant Design (antd) の Button コンポーネントは、Reactのプロジェクトにおいて簡単に使用できるようにスタイルが施されたボタン要素を提供します。 このコンポーネントは、様々なサイズ、タイプ、状態を持ち、クリックイベントのハンドリング、アイコンの統合、ローディング状態の表示などの機能をサポートしています。 以下はantdの Button コンポーネントの基本的な使用法です。

import React from 'react';
import { Button } from 'antd';

const App = () => {
  return (
    <div>
      <Button type="primary">Primary Button</Button>
      <Button>Default Button</Button>
      <Button type="dashed">Dashed Button</Button>
      <Button type="text">Text Button</Button>
      <Button type="link">Link Button</Button>
    </div>
  );
};

export default App;

主なプロパティ(属性)は以下の通りです:

type: ボタンのスタイルタイプを指定します。例えば 'primary', 'ghost', 'dashed', 'link', 'text', 'default' などがあります。 onClick: ボタンがクリックされたときに呼ばれるコールバック関数を指定します。 disabled: ボタンを無効にするかどうかを指定します。 loading: ボタンにローディング状態を表示するかどうかを指定します。 icon: ボタン内に表示するアイコンを指定します。 shape: ボタンの形状を指定します。例えば 'circle' や 'round' などがあります。 size: ボタンのサイズを指定します。'large', 'middle', 'small' の中から選べます。

Divider コンポーネント | 区切り線

Divider コンポーネントは、セクション間に線を引くための区切り線を提供するものです。 これは視覚的にコンテンツを分割して、区別しやすくするために使われます。 以下は、Ant Designの Divider コンポーネントの基本的な使い方です。 jsx

import React from 'react';
import { Divider } from 'antd';

const App = () => {
  return (
    <div>
      <p>テキスト1</p>
      <Divider />
      <p>テキスト2</p>
    </div>
  );
};

export default App;
Divider コンポーネントはいくつかのプロパティを持っており、それを通じてさまざまなカスタマイズが可能です: dashed: この属性が指定されると、区切り線は点線になります。 orientation: 区切り線のテキストの位置を決めます。 デフォルトでは中央になりますが、left や right を指定することで、左寄せや右寄せにできます。 type: 区切り線が水平(horizontal、デフォルト)か垂直(vertical)かを指定します。 plain: 区切り線のテキストをより目立たなくするためのものです。 テキストがセマンティックな重要性を持たない場合に使われます。

Tag コンポーネント

Ant Designの Tag コンポーネントは、ラベルやキーワードを表示するための小さなラベル要素です。 Tag は情報のカテゴリー分けや、項目のマーキング、ステータスの表示などに使用されます。 以下は Tag コンポーネントの基本的な使用法です: jsx

import React from 'react';
import { Tag } from 'antd';

const App = () => {
  return (
    <div>
      <Tag color="magenta">magenta</Tag>
      <Tag color="red">red</Tag>
      <Tag color="volcano">volcano</Tag>
      <Tag color="orange">orange</Tag>
      <Tag color="gold">gold</Tag>
      <Tag color="lime">lime</Tag>
      // 他にも色々な色が用意されています。
    </div>
  );
};
export default App;

Tag コンポーネントには以下のような主なプロパティがあります:

color: タグの色を指定します。Ant Designはプリセットの色を提供していますが、カスタムカラーを使用することも可能です。 closable: これを true にすると、タグの横に閉じるボタンが表示され、ユーザーがタグを削除できるようになります。 visible: タグの表示/非表示を制御します。 onClose: タグの閉じるボタンがクリックされた時に実行されるコールバック関数を指定します。 また、Tag コンポーネントは CheckableTag というバリエーションも提供しており、これによって選択可能なタグを作成することができます。 CheckableTag はチェックボックスのような振る舞いをし、ユーザーがタグを選択したり選択解除したりできるようになります。 jsx

import React, { useState } from 'react';
import { Tag } from 'antd';

const { CheckableTag } = Tag;

const App = () => {
  const [selectedTags, setSelectedTags] = useState(['Tag1']);

  const handleChange = (tag, checked) => {
    const nextSelectedTags = checked
      ? [...selectedTags, tag]
      : selectedTags.filter(t => t !== tag);
    setSelectedTags(nextSelectedTags);
  };

  return (
    <div>
      <CheckableTag
        key="Tag1"
        checked={selectedTags.indexOf('Tag1') > -1}
        onChange={checked => handleChange('Tag1', checked)}
      >
        Tag1
      </CheckableTag>
      // 他のタグも同様に追加できます。
    </div>
  );
};

export default App;


Dropdownコンポーネント

Dropdown コンポーネントは、指定された要素をクリックまたはホバーすることで表示される追加のコンテンツや機能を提供するためのものです。 ドロップダウンメニューはオプションやアクションのリストを提示するのに適しており、スペースを節約しながらユーザーインターフェイスのクリーンさを保持できます。 基本的な使い方は次のとおりです:

import React from 'react';
import { Menu, Dropdown, Button } from 'antd';
import { DownOutlined } from '@ant-design/icons';

const menu = (
  <Menu>
    <Menu.Item key="0">
      <a href="http://www.alipay.com/">1st menu item</a>
    </Menu.Item>
    <Menu.Item key="1">
      <a href="http://www.taobao.com/">2nd menu item</a>
    </Menu.Item>
    <Menu.Divider />
    <Menu.Item key="3" disabled>
      3rd menu item(disabled)
    </Menu.Item>
  </Menu>
);

const App = () => (
  <Dropdown overlay={menu}>
    <Button>
      Button <DownOutlined />
    </Button>
  </Dropdown>
);

export default App;
上記のコードでは、Dropdown コンポーネントの overlay プロパティに Menu コンポーネントを指定しています。 これにより、ボタンをクリックすると指定したメニューが表示されます。 Dropdown コンポーネントのいくつかの重要なプロパティは以下の通りです: overlay: ドロップダウンで表示するコンテンツを定義します。 通常は Menu コンポーネントを渡しますが、他の React ノードも使用できます。 trigger: ドロップダウンを表示するトリガーとなるアクションを指定します。 例えば ['click'] はクリック時に、['hover'] はマウスオーバー時にドロップダウンを表示します。 placement: ドロップダウンメニューが表示される位置を指定します。 例えば bottomLeft, bottomRight, topLeft, topRight などがあります。 visible: ドロップダウンの表示状態を制御するためのプロパティです。 このプロパティを使うことで、ドロップダウンの表示/非表示を手動で制御できます。 onVisibleChange: ドロップダウンの表示状態が変わるたびに呼ばれるコールバック関数を指定します。

Spaceコンポーネント

Space コンポーネントは、コンポーネントや要素間の間隔(スペース)を均一に管理するために使用されます。 これにより、CSSを直接記述することなく要素のレイアウトを簡単に制御でき、コードの整理と一貫性を保つことができます。 Space コンポーネントを使用すると、内包される子要素は指定されたサイズのスペースによって分離されます。 デフォルトでは、子要素は水平方向に配置されますが、垂直方向に配置することもできます。 基本的な使用方法は以下のとおりです: jsx

import React from 'react';
import { Space, Button } from 'antd';

const App = () => (
  <Space>
    <Button>Button 1</Button>
    <Button>Button 2</Button>
    <Button>Button 3</Button>
  </Space>
);

export default App;
この例では、Space コンポーネントは3つのボタン間に均等な間隔を提供します。

Space コンポーネントの主なプロパティは以下の通りです:

size: 子要素間のスペースの大きさを指定します。 数値またはスペースの大きさを表す文字列(small, middle, large など)を指定できます。 direction: 要素の並び方向を指定します。 vertical か horizontal を指定でき、デフォルトは horizontal です。 align: 垂直方向のアラインメント(一列に整列)を指定します。 start, end, center, baseline のいずれかを指定できます。 wrap: 要素が折り返すかどうかを指定します。 true に設定すると、親要素の幅に合わせて子要素が折り返します。 Space コンポーネントはフォーム、カード、ページレイアウトなど、さまざまな場面で利用されます。

MenuPropsコンポーネント