フローの構築
このセクションでは、制御されたフローコンポーネントを作成する方法について説明します。React FlowをReactプロジェクトにインストールしたので、React Flowを使い始めるためのすべてのファイルが揃っています。
はじめに
コントロールパネルと背景を持つ空のフローを作成しましょう。これには、reactflow
パッケージからコンポーネントをインポートする必要があります。
import { ReactFlow, Background, Controls } from '@xyflow/react';
これでコンポーネントを使用して空のフローをレンダリングできます
ここで注意すべき3つの重要な点があります
- スタイルをインポートする必要があります。そうしないと、React Flowは機能しません。
- 親コンテナには幅と高さが必要です。React Flowは親の寸法を使用するためです。
- 1つのページに複数のフローがある場合は、各コンポーネントに一意の
id
プロパティを渡して、React Flowが正しく機能するようにする必要があります。
ノードの追加
フローが設定されたので、ノードを追加しましょう。これを行うには、次のようなノードオブジェクトの配列を作成する必要があります。
const nodes = [
{
id: '1', // required
position: { x: 0, y: 0 }, // required
data: { label: 'Hello' }, // required
},
];
これらのノードはフローに追加できるようになりました
別のノードを追加し、ラベルを構成し、最初のノードにノードタイプinput
を使用しましょう。
const nodes = [
{
id: '1',
position: { x: 0, y: 0 },
data: { label: 'Hello' },
type: 'input',
},
{
id: '2',
position: { x: 100, y: 100 },
data: { label: 'World' },
},
];
ノードを構成する方法はたくさんあります。ノードオプションサイトでオプションの完全なリストを確認できます。
良さそうですね。これらの2つのノードを接続しましょう。
エッジの追加
これで2つのノードができたので、エッジで接続しましょう。
エッジを作成するには、2つの属性を指定する必要があります。ソースノード(エッジが始まる場所)とターゲットノード(エッジが終わる場所)です。これには、2つのノードのid
を使用します(この例では、2つのノードのidは「1」と「2」です)。
const edges = [{ id: '1-2', source: '1', target: '2' }];
このエッジに、React Flowに組み込まれている2つのプロパティ、label
と異なるtype
を指定しましょう。
最初の縁を作成しました、よくできました!ノードをドラッグまたは選択できないことに気づいたかもしれません。次のパートでは、フローをインタラクティブにする方法を学びます。