问题描述
从 material-ui v3升级到v4 后,对于包含道具<Field>
的所有component
组件,我得到以下错误。
错误:
警告:道具类型失败:提供给的道具
component
无效Field
。
字段组件来自import { Field } from 'redux-form';
该组件如下所示:
<Field
id="some-id"
name="some-name"
component={renderSelectField}
/>
代码可以编译并正常运行。
renderSelectField组件:
<TextField
select
id={label}
label={label}
type={label}
value={value}
SelectProps={{
MenuProps: {
PaperProps: {
style: {
maxHeight: 500,paddingLeft: 12,paddingRight: 12,},}}
onChange={onChange}
>
解决方法
更新以下React依赖关系(react redux v7,redux form v8):
"react-redux": "^7.2.1","redux-form": "^8.3.6",
说明:
material-ui升级后,您很可能会在控制台中看到forwardRef错误。在新版本的MUI和react挂钩中使用React.forwardRef。
以前的反应是,redux版本仅允许将特定数据类型分配给组件prop,但是新版本允许更多类型。