hello-deaf-world / ddl-diagram-visualizer

https://hello-deaf-world.github.io/ddl-diagram-visualizer/
MIT License
0 stars 0 forks source link

storybook導入 #27

Closed kappakun17 closed 3 months ago

kappakun17 commented 3 months ago

概要

ReactFlowのコンポーネントをStorybookで利用できるよう環境設定

image

使用方法

ファイル追加はせず、ただStorybookの動作チェックがしたい場合、[2]から進んでください。

  1. src/compornents/配下に、3点のファイルをそれぞれ用意
ファイル名 説明
コンポーネント.tsx Applicationで使用するコンポーネント定義
コンポーネント.stories.ts Storybookで利用するための設定
コンポーネント.css コンポーネント.tsxのスタイル定義
  1. storybookを実行
    npm run storybook

レビュー

@KagenoMoheji @yuta0193

ひとまず上記が通ればOKかなと思います🙌

共有

今回のために、テスト用ReactFlowのカスタムノードを用意

名前: DemoNode DIR : src/components/DemoNode.tsx Vite + React, Storybook. どちらでも表示可能であることを確認済み。

image

StorybookをReactFlow-hook対応するように設定

輪読会で、ReactFlowのライブラリを勉強した時に出てきた、ReactFlowが用意するhooksを使用するため、 何もしない場合、Storybookでは対応ができず、コンポーネントが表示されない。

StorybookもReactFlowのhooksをラッパーするように .storybook/preview でデコレーターを設定した。

export const decorators = [
  (Story) => (
    // ReactFlowのhookがラッパーされている
    <ReactFlowProvider>
      <Story />
    </ReactFlowProvider>
  )
]

懸念

// Storybook の設定ファイル(.storybook/preview.js など) export const decorators = [ (Story) => ( // Storybookで状態管理にアクセスできるようにする必要がある(Storybookのデータテストなど)

) ]



close #4 
KagenoMoheji commented 3 months ago

@kappakun17 あ,また別ブランチでいいのでstorybookの簡単なdoc欲しいかも