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
因为它是在几个高阶函数包装后导出的。
也许,有更好的方法来实现我完全需要的......
谢谢你的建议。
FarhadG 的评论
_2017 年 1 月 30 日星期一格林威治标准时间 17:41_
我发现一种非常有用的方法是简单地导出“包装的”和“未包装的”组件,这样我不仅可以使用它们来轻松测试包装的组件(及其更高阶的增强功能),还可以轻松地测试裸组件,但是还能够很容易地使用 Storybook 记录组件。
这解决了双重渲染问题,因为我对文档的那部分使用未包装的组件,并可用于利用其他 Storybook 功能。
我希望这对遇到相同问题的其他人有用。
我评论了过时的原始问题,现在已经关闭,我发现了这个未解决的问题,所以我会复制我的评论,以防它对其他人有用:在包装是不可避免的情况下(例如,一个故事一个需要顶级<svg>
包装器的 SVG 内部组件),您可以指定一个propTablesExclude
选项将(所有)您不希望呈现道具表的组件列入黑名单为了。
最有用的评论
评论来自carlosrberto
_2017 年 1 月 26 日星期四 17:08 GMT_
我认为
propTables
应该替换默认的 propTables