当我尝试使用通过material-ui
withStyles
功能导出的组件时,出现此警告,例如:
export default withStyles(styles)(MyComponent)
,然后像这样将其传递到ReactRouter
中:
import MyComponentfrom './MyComponent'
<Route path="/my-component" component={MyComponent} />
组件已按预期方式呈现且运行正常,但警告困扰着我。
有人可以解释我为什么得到这个吗?
答案 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