Reactjs 故事书: ;附加文档 ;无法读取属性';类别';未定义的

Reactjs 故事书: ;附加文档 ;无法读取属性';类别';未定义的,reactjs,material-ui,storybook,Reactjs,Material Ui,Storybook,我正在将Storybook 5.2.6用于带有Typescript 3.5.3的React 16.9.0,并使用以材质UI为主题的组件。 添加并配置了@storybook/addon docs之后,当使用@material ui中的样式包装组件时,storybook docs页面在PropsTable中显示:“无法读取未定义的属性'classes' 组成部分: import React,{FunctionComponent}来自'React'; 从“@material ui/core”导入{排版

我正在将Storybook 5.2.6用于带有Typescript 3.5.3的React 16.9.0,并使用以材质UI为主题的组件。 添加并配置了@storybook/addon docs之后,当使用@material ui中的样式包装组件时,storybook docs页面在PropsTable中显示:“无法读取未定义的属性'classes'

组成部分:

import React,{FunctionComponent}来自'React';
从“@material ui/core”导入{排版};
进口{
用方式,,
用方式,,
}来自“@material ui/core/styles”;
从“./index.styles”导入样式;
导出接口IProps使用样式扩展{
消息?:字符串;
testId?:字符串;
}
常量栏:FunctionComponent=(道具)=>{
常数{
班级,
信息,
testId='test-bar',
}=道具;
如果(!message){return null;}
返回(
    
{message}
    
  );
};
导出默认样式(样式)(条形);
故事

从“React”导入React;
从'@storybook/react'导入{storiesOf};
从'@material ui/core/styles'导入{MuiThemeProvider};
从“./index”导入条;
从“../../../others/global/material ui主题”导入主题;
storiesOf('Bar',模块)
.addDecorator(故事=>{story()})
.addParameters({component:Bar,componentSubtitle:'显示带有消息的条'})
.add('警告',()=>);

在React devtools和Chrome devtools中的调试中,我可以看到类确实作为道具被注入,所以我现在有点困惑如何解决这个问题?

因此存在一个解决方法,您导出“unwrapped”组件并将其用作文档中的组件:

如本文所述:

并在这里发表评论:

例如:

export const PureBar:FunctionComponent=(props)=>{
// ...
};
导出默认样式(样式)(PureBar);
然后在故事中,更新组件参数,以“纯”组件为目标:

//导入纯组件和包装组件:
导入栏,{PureBar}来自“/Bar”
//添加到故事中:
storiesOf('Bar',模块)
.addParameters({component:PureBar,componentSubtitle:'显示带有消息'}的条)
。加入(/*…*/);