【入門編】Figmaの「Component Set」を駆使したステート管理!複雑なフォームUIの全状態を1つのマスターに集約する裏技 – UI/UX・デザインツール活用バイブル

こんにちは。UI/UXの現場で数々の修羅場をくぐり抜けてきたエンジニアです。

Figmaを使っていると、必ずぶつかる壁がありますよね。「ボタンのホバー、フォーカス、エラー、ローディング…画面が増えるたびに同じようなパーツを量産して、管理が崩壊する」という悪夢です。

今日は、そんな泥沼からあなたを救い出す「Component Set」によるステート管理の真髄を伝授します。これをマスターすれば、あなたのデザインデータは「管理するもの」から「自動的に呼吸するもの」へと進化します。

—

1. なぜ「バラバラのパーツ」を捨て去るべきなのか?

初心者のうちは、ボタンを一つ作るたびに「Button/Default」「Button/Hover」「Button/Error」と別々のコンポーネントを作りがちです。しかし、これが地獄の入り口です。

Component Set(バリアント)を使うと、これらを一つの「論理的な箱」に閉じ込めることができます。

  • 管理の集約: コンポーネントを修正すれば、全ステートに即座に反映される。
  • エンジニアとの共通言語: 「このボタンは `state` プロパティが `error` の時、枠線が赤になる」という仕様を、そのままコードの型定義に直結できる。

—

2. 【実践】最強のフォーム部品を作るセットアップ

まずは、最も利用頻度の高い「入力フォーム(Input Field)」を例に、極限の管理体制を構築しましょう。

ステップ1:最小単位のコンポーネントを作る

まずは「何もない状態のInput」を1つ作ります。
1. `Frame` で枠を作り、中にテキスト(プレースホルダー)を配置。
2. `Auto Layout` を適用し、パディングを整える。
3. これをコンポーネント化(`Cmd + Option + K`)。

ステップ2:Component Setへの昇華

ここからが魔法です。
1. 作ったコンポーネントを選択し、右サイドバーの「+」ボタンから 「Combine as variants」 を選択します。
2. これでコンポーネントが「箱(Set)」に入りました。

ステップ3:プロパティの極意

右サイドバーの「Properties」設定で、論理構造を整理します。

  • Property 1: `State` (Default, Focus, Error, Disabled)
  • Property 2: `Icon` (None, Left, Right)

ここで重要なのは、「命名の規則性をコードに合わせる」こと。
エンジニアが `type: ‘error’` と書くなら、デザイン側も `State: error` とします。この乖離をなくすことが、デザインシステム構築の第一歩です。

—

3. 動作確認:HelloWorldならぬ「StateSwitch」の儀式

設定が終わったら、正しく動くか確認しましょう。

1. 配置: Setからインスタンスを一つキャンバスにドラッグします。
2. 切り替え: インスタンスを選択し、右サイドバーのプルダウンを操作してみてください。
3. 観察: 瞬時に「Default」から「Error」へ、あるいは「アイコン付き」へと姿を変えるはずです。

【ここでプロのワンポイントアドバイス】
`Boolean` プロパティを活用してください!
例えば「アイコンの表示・非表示」は、個別にバリアントを作るのではなく、Propertyの「Boolean」を追加して、アイコンのレイヤーの「目玉アイコン」をバインドさせるのです。これでバリアントの数が半分以下になり、管理コストが劇的に下がります。

—

4. 現場で震えるほど役立つ「設計思想」

最後に、一つだけ覚えて帰ってください。「コンポーネントは、プロダクトの仕様を語るドキュメントである」ということです。

複雑なフォームUIを設計するとき、私は必ず以下の手順を意識しています。

1. 状態の洗い出し: 実装前に「発生しうる全ステート」を書き出す。
2. 階層化: `Boolean` プロパティで切り替えられるものは別バリアントにしない(複雑化を防ぐ)。
3. エンジニアとの握り: 「このセットアップで、フロントエンドの型定義(TypeScriptのUnion型など)と一致しているか?」を確認する。

設定の考え方(疑似コード例)

// Figmaのプロパティ構造は、まさにこのコードを視覚化したものです
type InputState = ‘default’ | ‘focus’ | ‘error’ | ‘disabled’;

interface InputProps {
state: InputState;
hasIcon: boolean; // Booleanプロパティで制御
label: string;
}

—

まとめ:今日からあなたの仕事は変わる

FigmaのComponent Setを使いこなすと、デザイン作業は「描く」ことではなく「システムの挙動を定義する」ことに変わります。

最初は設定が面倒に感じるかもしれません。しかし、一度この「型」を作ってしまえば、あとはパズルを組み立てるようにUIを構築できるようになります。修正依頼が来ても、マスターコンポーネントを一つ直すだけで、全画面に反映される快感。これを味わうと、もう以前のやり方には戻れません。

さあ、あなたの次の画面設計で、まずは「ボタン」から試してみてください。
毎日の作業が劇的に楽になる未来は、すぐそこにありますよ。応援しています!

タイトルとURLをコピーしました