0Pricing
React Academy · レッスン

ReactプロジェクトでのStorybookセットアップ

Storybookをインストールし、ViteまたはCRA向けに設定して、コンポーネントエクスプローラーを確認します。

「ReactプロジェクトでのStorybookセットアップ」はCoddyKit上の無料React Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはReact Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 React Academyコースには全4レッスンが含まれています。

Storybookとは

Storybookは、UIコンポーネントを分離した状態で開発、ドキュメント化、テストするためのツールです。それぞれのstoryはコンポーネントの特定の状態を表し、アプリ全体を起動しなくてもStorybook UIで確認できます。

インストール

ReactプロジェクトでStorybookのinitコマンドを実行します。フレームワーク(Vite、CRA、Next.js)を自動検出し、設定を作成します。

# For a Vite + React project:
npx storybook@latest init

# This creates:
# .storybook/main.ts
# .storybook/preview.ts
# src/stories/ (example stories)

Storybookの起動

Storybookの開発サーバーをポート6006で起動します。ブラウザでコンポーネントエクスプローラーが開きます。

npm run storybook
# or
npx storybook dev -p 6006

.storybook/main.tsの設定

main.tsでは、storiesの場所、読み込むアドオン、使用するフレームワークを指定します。

import type { StorybookConfig } from '@storybook/react-vite';

const config: StorybookConfig = {
  stories: ['../src/**/*.stories.@(ts|tsx)'],
  addons: [
    '@storybook/addon-essentials',
    '@storybook/addon-interactions',
  ],
  framework: {
    name: '@storybook/react-vite',
    options: {},
  },
};

export default config;

.storybook/preview.tsの設定

preview.tsでは、グローバルデコレーター(すべてのstoryをProviderでラップするなど)を適用し、背景色などのグローバルパラメーターを設定します。

import type { Preview } from '@storybook/react';
import '../src/index.css'; // global styles

const preview: Preview = {
  parameters: {
    backgrounds: {
      default: 'light',
      values: [{ name: 'light', value: '#fff' }, { name: 'dark', value: '#333' }],
    },
  },
  decorators: [
    (Story) => (
      <ThemeProvider theme={defaultTheme}>
        <Story />
      </ThemeProvider>
    ),
  ],
};

export default preview;

コンテキスト用デコレーターの追加

preview.tsでデコレーターを使用し、すべてのstoryを必要なプロバイダー(Router、Theme、i18n)でラップします。これにより、各storyで個別にインポートする必要がなくなります。

decorators: [
  (Story) => (
    <MemoryRouter>
      <QueryClientProvider client={new QueryClient()}>
        <Story />
      </QueryClientProvider>
    </MemoryRouter>
  ),
],

Storybook UIの操作

サイドバーではコンポーネントごとにstoryがグループ化されています。storyをクリックするとキャンバスに表示されます。Docsタブには、TypeScriptのpropsから自動生成されたAPIドキュメントが表示されます。

静的Storybookのビルド

Chromatic、GitHub Pages、または任意のCDNでホスティングできる静的HTMLサイトをstoriesからビルドします。

npm run build-storybook
# Output in storybook-static/

デザインシステムのドキュメントとしてのStorybook

Storybookはデザインシステムの生きたドキュメントとして優れています。@storybook/addon-docs(essentialsの一部)を追加すると、TypeScriptの型からpropsテーブルと使用例を自動生成できます。

ホットモジュールリプレースメント

StorybookはHMRをサポートしています。コンポーネントやstoryのファイルを編集すると、ページ全体を再読み込みせずにStorybookのキャンバスがすぐに更新されます。

TypeScriptのサポート

@storybook/react-viteフレームワークは、TypeScriptを第一級でサポートします。MetaとStoryObjのジェネリクスを使用すると、型付けされたstoryを作成できます。

import type { Meta, StoryObj } from '@storybook/react';
import { Button } from './Button';

const meta: Meta<typeof Button> = {
  component: Button,
};
export default meta;

type Story = StoryObj<typeof Button>;
export const Primary: Story = { args: { label: 'Click me' } };

クイックチェック

すべてのstoryをProviderでラップするなど、グローバルデコレーターの適用を担当するStorybookの設定ファイルはどれでしょうか。

振り返り

npx storybook initを実行してStorybookをセットアップし、グローバルプロバイダーをpreview.tsで設定し、アドオンをmain.tsで追加します。型付きstoryにはMetaとStoryObjのジェネリクスを使用し、共有用の静的サイトはbuild-storybookでビルドしてください。

よくある質問

「ReactプロジェクトでのStorybookセットアップ」レッスンは無料ですか?

はい。「ReactプロジェクトでのStorybookセットアップ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、React Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 React Academyコースには全4レッスンが含まれています。

「ReactプロジェクトでのStorybookセットアップ」で何を学びますか?

Storybookをインストールし、ViteまたはCRA向けに設定して、コンポーネントエクスプローラーを確認します。 ブラウザで直接実行するハンズオンコードでReact Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

React Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのReact Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「ReactプロジェクトでのStorybookセットアップ」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このReact Academyレッスンでコードを書いて実行できますか?

はい。すべてのReact Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ReactプロジェクトでのStorybookセットアップ
  2. CSF3 Storiesの記述
  3. Args、Controls、Actions Addon
  4. Storybookのテストとビジュアルリグレッション
← React Academyに戻る