MaterialUI withStyles:提供给“路线”的“对象”类型的无效道具“组件”,应为“功能”

时间:2019-11-07 15:21:51

标签: reactjs react-router material-ui

当我尝试使用通过material-ui withStyles功能导出的组件时,出现此警告,例如:

export default withStyles(styles)(MyComponent)

,然后像这样将其传递到ReactRouter中:

import MyComponentfrom './MyComponent'
<Route path="/my-component" component={MyComponent} />

组件已按预期方式呈现且运行正常,但警告困扰着我。

有人可以解释我为什么得到这个吗?

更新1(已添加警告): Warning

1 个答案:

答案 0 :(得分:0)

我怀疑您使用的是4.3.1或更早版本的react-router。

这在Route中使用了component: PropTypes.func

通过引入React.forwardRef(在Material-UI v4中大量使用)和React 16.8中的其他功能(挂钩),有可能具有非函数的组件类型。

从react-router的4.4版开始,它改为使用isValidElementType。这样可以正确识别forwardRef和其他方法返回的组件类型。

相关答案:I'm getting error after upgrading to Material UI 4 - withStyles