【すとーりーぶっく】

Storybook とは?

💡 UIコンポーネントの「ショーケース」
📌 このページのポイント
Storybook ― UIコンポーネントのカタログ コンポーネント一覧 Button Input Card Modal Header Buttonコンポーネント プレビュー Primary Secondary Danger Props: label: "送信" variant: "primary" disabled: false ← 自由に変更して 動作を確認できる 独立して開発 視覚的にテスト ドキュメント化
Storybookのイメージ
ひよこ ひよこ

なんでStorybookが必要なの?

ペンギン先生 ペンギン先生

ボタン1つ確認するためにアプリ全体を起動してログインして特定のページに遷移して…って大変でしょ?Storybookならコンポーネント単体を独立した環境で表示できるから、開発効率が格段に上がる。デザインの確認、エッジケースのテスト、プロパティの動作確認がボタン一つでできるんだよ

ひよこ ひよこ

Storyってどう書くの?

ペンギン先生 ペンギン先生

コンポーネントファイルの横にButton.stories.tsxのようなファイルを作る。各exportがStoryになるよ。Default、Primary、Disabled、Loading…のように状態ごとにStoryを定義する。argsを使えばUI上でプロパティをインタラクティブに変更できるControls機能も使えるんだ

ひよこ ひよこ

デザインシステムとの関係は?

ペンギン先生 ペンギン先生

Storybookはデザインシステムの構築・運用に最適なツールだよ。全コンポーネントのカタログとして機能して、デザイナーが「このコンポーネントはこう使う」というドキュメントも書ける。Chromatic(Storybook開発元のサービス)を使えばビジュアルリグレッションテストUIの見た目の変化を検出)も自動化できるよ

ひよこ ひよこ

Storybookの導入コストは?

ペンギン先生 ペンギン先生

初期設定はnpx storybook initで自動化されるから簡単。ただし既存プロジェクトに後から導入すると、コンポーネント依存関係API呼び出し、グローバルステート)をモック化する作業が必要で、これが大変なこともある。新規プロジェクトなら最初から導入した方がコストは低いよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Storybook」って出てきたら「UIコンポーネントを個別に開発・カタログ化するツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Storybook」 = 物語の本
💬 各コンポーネントの「ストーリー(物語・状態)」を集めた本、というイメージだよ
← 用語集にもどる