求助:'ResizableBox'无法作为JSX组件使用的TypeScript错误
解决'ResizableBox'无法作为JSX组件使用的TS2786错误
先看你代码里的明显问题:第30行存在JSX语法错误——<ResizableBox {...resizableProps}>{children}; 缺少闭合标签,且children后多了分号,正确写法应为:
return <ResizableBox {...resizableProps}>{children}</ResizableBox>;
修复语法问题后,再排查以下类型冲突问题:
统一@types/react版本
错误提示中两个ReactNode类型来自不同路径,说明项目依赖里存在多个版本的@types/react。执行命令查看依赖树:npm ls @types/react # yarn用户执行:yarn list @types/react找到冲突版本后,在
package.json中添加版本锁定:- npm用户添加
overrides字段:"overrides": { "@types/react": "^18.2.0" } - yarn用户添加
resolutions字段:"resolutions": { "@types/react": "^18.2.0" }
之后删除
node_modules和lock文件,重新安装依赖。- npm用户添加
检查react-resizable版本兼容性
如果你使用的是react-resizable包,确保其版本与当前React版本兼容(比如React 18需要react-resizable@^3.0.5及以上版本)。若缺少类型定义,安装对应类型包:npm install @types/react-resizable --save-dev清除TypeScript缓存
执行npx tsc --clearCache清除TS缓存,再重新编译项目。
内容的提问来源于stack exchange,提问作者Marcu Adrian
相关产品推荐
相关产品推荐

