FigmaのVariants機能でコンポーネントの状態を管理する方法

Figmaでコンポーネントを作るとき、例えばボタンのデフォルト状態やホバー状態、disabled状態など複数の状態を別コンポーネントとして作る必要がありました。
しかしVariants機能を使うと、すべて同じコンポーネントにして、その中の状態違いという管理の仕方ができます。
コンポーネントが1つにまとまりますし、状態違いがどれくらいあるのか把握もしやすくなります。
Variantsの設定方法
Variantsを設定するためには、まず複数のコンポーネントを用意します。
今回は「通常時」「ホバー時」「クリック時」「非活性時」の4種類のコンポーネントを用意しました。

状態違いのコンポーネントすべてを選択すると「Variants」パネルに「Combine as variants」ボタンが表示されます。
これをクリックしましょう。

ちなみにこのボタンが表示されないときは、選択しているオブジェクトにコンポーネント以外が混ざっています。
すべてコンポーネントになっているか確認しましょう。
クリックしてVariantsになると、コンポーネントがさらに大きなコンポーネントで囲まれたようなレイヤー状態になり、ボタンの周りに紫の点線が表示されます。

Variantsパネルの設定
サイドバーの「Variants」パネルを見ると、「Property」という項目と、先ほど設定した各コンポーネント名がタグのような見た目になって表示されます。
この1つ1つのタグのようなボタンがコンポーネントの「状態」として後ほど切り替えられる項目になります。
それぞれダブルクリックで名称変更ができ、ドラッグで並び変えも可能です。

今回は「Property」を「Type」にして、それぞれ分かりやすいように名称を変更しておきます。
Variantsの使い方
子コンポーネントを「Assets」からドラッグして追加します。
サイドバーのに先ほどの「Type」という項目が表示されています。
デフォルトは先頭の項目である「Default」状態になっています。

これをクリックすると、他の項目が表示されます。
「Hover」を選択すると、先ほどのVariantsのHoverにコンポーネントの見た目が切り替わります。

このようにサイドバーから簡単に状態の切り替えができるようになります。
状態の追加
途中で新しい状態を追加したくなった場合は、Variantsの紫の点線右下にある「+」アイコンをクリックすると追加できます。

状態がまとまっていると、コーディングもしやすくなりますし、デザインのルール決めも複数人で把握しやすくなりますね。

Figmaのパス周りの基本操作|基本的な描画方法からペンツールと直線ツールの細かい違いまで
Illustratorの「モザイクオブジェクト」機能で、画像にモザイクをかける方法(「ラスタライズ」を使った方法も追記)
Sketchのテキスト編集周りの基本操作
FigmaのSearch Menuを使用して必要なメニュー・コマンドをすばやく実行する
Figmaでデザインデータを整理するときに役立つプラグイン「Clean Document」
Figmaのコメント機能を利用してデザイン上のやり取りを円滑にする
ブラウザ上で動作するデザインツール「Figma」のアカウント作成から必要最低限の設定
Figmaのプロトタイプ機能の基本|作成したデザインに実際に画面遷移を設定する
Figmaで細かいアニメーションを作成できるプラグイン「Motion」
Sketchの図形周りの基本操作|図形の作成方法から描画に関する細かい部分まで
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Path Finderを使ってキーボードだけでファイル操作する方法(基本操作編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる