Next.js+Tailwind CSS+Storybookでフロントエンド開発④

はじめに

前回まで

APIの呼び出し準備まで完了しました。
今回はコンポーネントを組み合わせて、レイアウトを構築していこうと思います。
APIも使います!

  1. 環境構築
  2. Storybookで管理しながらコンポーネントを作成
  3. APIの呼び出し
  4. コンポーネントを組み合わせてレイアウト構築

完成図

用意したコンポーネントを組み合わせて、完成図に近しいレイアウトを組んでいきます。

レイアウトを組んでいく

layout.tsx

に下記のクラスを設定しました。
描画パーツが少ないので、画面の高さが狭まらないようにしたかったからです。

  • h-screen → height: 100vh

page.tsx

長いので分割して説明したいと思います

一括抽選、リセット

一括抽選、リセットの処理です。
リセットを押すごとにresetTriggerの数値が増やし、Panelコンポーネント側で検知してもらおうという考えです。

APIの呼び出し部分

前回用意したAPIルートの/api/numberにリクエストさせています。

JSX部分

<Header />意外はの領域に広げたかったので、growクラスを設定しました。

  • grow → flex-grow: 1

動作確認

ざっと下記を確認してみます

  • 1つずつ抽選する
  • 桁数を変更する
  • 最小値を変更する
  • 最大値を変更する
  • 一括抽選する
  • リセットする

(動画はカクついてるけど)想定どおりに動作しました!

おわりに

以上でNext.js+Tailwind CSS+Storybook でのアプリ作成は完了です。

とても長くなってしまいましたが、ここまでお付き合いいただきありがとうございました!