在 Storybook 故事中添加新标签
Add new tab in Storybook story
我开始在 React 项目中设置 Storybook,我可以看到它默认显示 2 个选项卡(Canvas 和文档)。
我想要另一个选项卡来显示该特定组件的更新日志。有没有办法添加第三个选项卡并在那里显示 CHANGELOG.md 文件的内容?
我自己最近也遇到了这个问题(这就是我进入这个话题的原因)所以我希望我以后能对其他人有所帮助。
创建自定义故事书选项卡并将其注册到故事书插件中:
// addon-tab/register.js
import React from 'react';
import { addons, types } from '@storybook/addons';
addons.register('changelog', () => {
addons.add('changelog', {
type: types.TAB,
title: 'Storybook changelog tab',
route: ({ storyId, refId }) => (refId ? `/changelog/${refId}_${storyId}` : `/changelog/${storyId}`),
match: ({ viewMode }) => viewMode === 'changelog',
render: () => (
<div>
<MyChangelog />
</div>
),
});
});
确保更新您的 main.js
文件:
// .storybook/main.js
module.exports = {
stories: [],
addons: [
// Other Storybook addons
'../addon-tab/register.js'
],
};
** 您还可以在 preview.js
文件中更改它的 name/position:
addParameters({
previewTabs: {
docs: {
title: 'Docs',
hidden: false
},
canvas: {
title: 'Story',
hidden: false,
},
changelog: {
title: 'CHANGELOG',
hidden: false,
},
},
})
接下来您可以创建一个接受故事名称和 returns 正确的 changelog.md 文件的更新日志提供程序(require.context 可能是一个很好的方法),然后显示它在渲染函数中使用 MyChangelog
组件。您可以像这样使用来自 @storybook/addon-docs
的故事书的 Description
组件:
<Description markdown={myMarkdown} />
我开始在 React 项目中设置 Storybook,我可以看到它默认显示 2 个选项卡(Canvas 和文档)。
我想要另一个选项卡来显示该特定组件的更新日志。有没有办法添加第三个选项卡并在那里显示 CHANGELOG.md 文件的内容?
我自己最近也遇到了这个问题(这就是我进入这个话题的原因)所以我希望我以后能对其他人有所帮助。
创建自定义故事书选项卡并将其注册到故事书插件中:
// addon-tab/register.js
import React from 'react';
import { addons, types } from '@storybook/addons';
addons.register('changelog', () => {
addons.add('changelog', {
type: types.TAB,
title: 'Storybook changelog tab',
route: ({ storyId, refId }) => (refId ? `/changelog/${refId}_${storyId}` : `/changelog/${storyId}`),
match: ({ viewMode }) => viewMode === 'changelog',
render: () => (
<div>
<MyChangelog />
</div>
),
});
});
确保更新您的 main.js
文件:
// .storybook/main.js
module.exports = {
stories: [],
addons: [
// Other Storybook addons
'../addon-tab/register.js'
],
};
** 您还可以在 preview.js
文件中更改它的 name/position:
addParameters({
previewTabs: {
docs: {
title: 'Docs',
hidden: false
},
canvas: {
title: 'Story',
hidden: false,
},
changelog: {
title: 'CHANGELOG',
hidden: false,
},
},
})
接下来您可以创建一个接受故事名称和 returns 正确的 changelog.md 文件的更新日志提供程序(require.context 可能是一个很好的方法),然后显示它在渲染函数中使用 MyChangelog
组件。您可以像这样使用来自 @storybook/addon-docs
的故事书的 Description
组件:
<Description markdown={myMarkdown} />