Storybook: 指定一个 propTable 仍然会呈现两个 prop 文档

创建于 2017-04-22  ·  3评论  ·  资料来源: storybookjs/storybook

FarhadG 的问题
_2016 年 8 月 24 日,星期三,格林威治标准时间 06:49_
_最初打开为https://github.com/storybooks/react-storybook-addon-info/issues/59_


我目前正在将组件与包装版本( default导出)一起导出,以便我可以单独记录该组件,因为与其他几个高阶函数一起包装的default没有不提供对propTypes引用以供 react-storybook 使用。

例如:

export class SampleComponent extends Component {

}

export default compose(...)(SampleComponent);

我将{ SampleComponent }导入用于文档目的,但是,我为propTables获得了两个呈现的 UI。

"SampleComponent" Component
property    propType    required    default
contextStyles   object  no  {{}}
height  number  no  -
image   string  yes -

"SampleComponent" ComponentNo propTypes defined!

即使我用{ propTables: [SampleComponent], inline: true }指定了propTables的选项,我也得到了两个渲染版本。 有什么方法可以为呈现的组件禁用自动propTable吗? 看起来这就是正在发生的事情:渲染组件的propTypes也被使用,因此undefined因为它是在几个高阶函数包装后导出的。

也许,有更好的方法来实现我完全需要的......

谢谢你的建议。

info bug has workaround

最有用的评论

评论来自carlosrberto
_2017 年 1 月 26 日星期四 17:08 GMT_


我认为propTables应该替换默认的 propTables

所有3条评论

评论来自carlosrberto
_2017 年 1 月 26 日星期四 17:08 GMT_


我认为propTables应该替换默认的 propTables

FarhadG 的评论
_2017 年 1 月 30 日星期一格林威治标准时间 17:41_


我发现一种非常有用的方法是简单地导出“包装的”和“未包装的”组件,这样我不仅可以使用它们来轻松测试包装的组件(及其更高阶的增强功能),还可以轻松地测试裸组件,但是还能够很容易地使用 Storybook 记录组件。

这解决了双重渲染问题,因为我对文档的那部分使用未包装的组件,并可用于利用其他 Storybook 功能。

我希望这对遇到相同问题的其他人有用。

我评论了过时的原始问题,现在已经关闭,我发现了这个未解决的问题,所以我会复制我的评论,以防它对其他人有用:在包装是不可避免的情况下(例如,一个故事一个需要顶级<svg>包装器的 SVG 内部组件),您可以指定一个propTablesExclude选项将(所有)您不希望呈现道具表的组件列入黑名单为了。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

sakulstra picture sakulstra  ·  3评论

purplecones picture purplecones  ·  3评论

ericterpstra picture ericterpstra  ·  3评论

dnlsandiego picture dnlsandiego  ·  3评论

shilman picture shilman  ·  3评论