@storybook/addon-themes
要开始,您需要安装@storybook/addon-themes
。
运行以下脚本以安装并注册插件
在幕后,这将运行npx @storybook/auto-config themes
,它应该读取您的项目并尝试使用正确的装饰器配置您的 Storybook。如果直接运行该命令不能解决您的问题,请在@storybook/auto-config存储库中提交错误,以便我们进一步改进它。要手动添加此插件,请安装它,然后将其添加到.storybook/main.ts
中的插件数组。
GlobalStyles
在.storybook/preview.js
中,创建一个包含font-family
的<GlobalStyles />
组件。然后通过将其添加到装饰器数组中,使用withThemeFromJSXProvider
装饰器将其应用于您的故事。
如果您已经在应用程序中拥有<Global />
,则可以将其导入到.storybook/preview.js
中,而不是重新创建它。
要与 Storybook 中的组件共享您的主题,您需要将它们与@emotion/styled
的<ThemeProvider />
组件一起提供给withThemeFromJSXProvider
装饰器。
现在,使用 Emotion 制作的组件将通过theme
道具获取主题,以及从<Global />
继承的样式。
当您提供多个主题时,Storybook UI 中将出现一个工具栏菜单,用于为您的故事选择所需的主题。
现在您已准备好使用 Emotion 和 Storybook。🎉
如果您在工作中使用 Emotion,我们希望您能帮助我们改进此设置。加入Discord中的维护者参与进来,或跳转到插件文档。