React+TypeScript函数参数提示异常:涉及哪个包版本?
React + TypeScript 函数参数类型提示异常排查
异常场景说明
正常情况下React+TypeScript项目中,函数/组件的参数类型应被TypeScript正确推断并给出提示,但当前出现参数类型提示异常问题,相关场景如下:
场景1
- 异常表现:自定义函数参数未被正确识别类型,提示为
any或无类型提示 - 对应代码示例:在线Playcode项目,复现了函数参数提示失效的问题
场景2
- 异常表现:React组件的props参数类型未被正确推断,编辑器无法给出props属性提示
- 对应代码示例:在线Codesandbox项目,复现了组件props提示异常的问题
涉及的包版本推测
这类参数提示异常通常和TypeScript或**@types/react**(React类型定义包)的版本不兼容有关:
- TypeScript版本过低:低于v4.7的版本对React组件的参数类型推断存在已知缺陷,尤其是针对箭头函数组件的props推断
- @types/react与React核心版本不匹配:比如使用React 18但搭配v17及以下的@types/react,会导致类型定义不兼容,进而引发提示异常
- @types/react-dom版本不匹配:若@types/react-dom版本与React核心版本不一致,也可能影响JSX元素的参数提示逻辑
内容的提问来源于stack exchange,提问作者mraiguo
相关产品推荐
相关产品推荐

