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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ReactプロジェクトでのStorybookセットアップ
- CSF3 Storiesの記述
- Args、Controls、Actions Addon
- Storybookのテストとビジュアルリグレッション