Storybook天然是组件文档系统,通过DocsPage自动生成属性表与交互预览,MDX支持富文本与嵌入故事,结合Controls、Actions、Viewport实现可操作文档,并按业务逻辑结构化组织提升查找效率。
Storybook 不只是预览组件的工具,它天然就是组件文档系统。用好 DocsPage 和 MDX,能让文档和代码始终同步,团队成员点开就能看效果、改参数、抄代码,协作成本大幅下降。
DocsPage 是 Storybook 官方推荐的文档方案,无需手写 Markdown,它会自动解析组件的 props(TypeScript 接口或 PropTypes)并生成属性表格、使用示例和交互预览。
addons: ['@storybook/addon-docs']
Button.stories.tsx)导出了 component 字段:export default { title: 'Components/Button', component: Button };
当默认 DocsPage 不够用时(比如需要对比用法、插入设计规范、嵌入多个故事),MDX 是更灵活的选择。它把 Markdown 的易读性和 JSX 的表现力结合在一起。
Button.docs.mdx 文件,开头声明元数据:<Meta of={ButtonStories} />(注意:of 必须指向故事文件的默认导出)<Story of={ButtonStories.Primary} /> 嵌入可交互的故事<DoDont><Do><Button size="large">正确尺寸</Button></Do></DoDont>
静态文档容易过时,而 Storybook 文档的核心优势是“可操作”。把文档变成实验沙盒,团队成员能自己调参数、点按钮、切屏幕尺寸,理解立刻加深。
args,文档页自动生成控件面板(颜色选择器、开关、输入框等)onSubmit 或 onClick 等事件监听,点击后在控制台实时看到触发日志文档再好,找不到也白搭。按业务逻辑或 UI 层级组织侧边栏,比堆砌文件名更有效。
'Forms/LoginForm'、'Layouts/TwoColumn'
LoginForm/WithValidationErrors、Button/LoadingState