React18.2中使用函数组件默认参数仍触发defaultProps弃用报错如何解决?
解决React函数组件默认参数报错问题
你的写法本身符合官方推荐规范,但出现报错大概率是因为你同时给该组件设置了Component.defaultProps属性。React会将这种混合写法判定为仍在使用即将被移除的defaultProps特性,从而抛出警告。
正确处理方式如下:
- 仅使用JavaScript参数默认值定义props默认值,绝对不要再给组件添加
defaultProps属性 - 清理组件定义中所有遗留的
defaultProps相关代码
你的组件应保持如下写法:
const Component = ({ prop = true }) => (<div></div>)
如果之前写过类似下面的代码,必须删除:
Component.defaultProps = { prop: true }
另外可以检查项目的ESLint或其他代码检查工具配置,若存在强制使用defaultProps的规则,也可能触发误报,需对应调整规则。
内容的提问来源于stack exchange,提问作者Koby
相关产品推荐
相关产品推荐

