🌐
Next.jsに導入したStorybookで_app.tsxに定義してあるやつが呼ばれなくて困ったとき
備忘録です。
Next.jsでは pages/_app.tsx
にグローバルのスタイルを記述していたり、いろいろなProviderを配置していたりしますよね。
StorybookのストーリーファイルにNext.jsで使っているコンポーネントをそのまま持っていこうとすると、グローバルのスタイルが当たらず違う見た目になったり、Providerのエラーが出たりして困ります。
Storybookに用意されている グローバルデコレータ という機能を使って解決できました。
.storybook/preview.js
import App from '../pages/_app'
export const decorators = [(Story) => <App Component={Story}></App>]
Next.jsにStorybookを導入する方法については 「結局 Next (TypeScript) にStorybookを入れるには何が必要なの?」 を参照してください!
Discussion