Reactstrap Button无法作为JSX组件使用的技术问题求助
问题根源
该错误源于项目中@types/react、@types/react-dom的类型定义版本与reactstrap依赖的版本不兼容,导致ReactNode等核心类型的定义出现冲突。
解决步骤
1. 统一React类型包版本
执行以下命令卸载现有类型包,重新安装与reactstrap兼容的版本(以适配React 18的类型版本为例):
npm uninstall @types/react @types/react-dom npm install @types/react@^18.2.0 @types/react-dom@^18.2.0 --save-dev
2. 清理依赖并重启项目
清除旧依赖缓存后重新安装,再重启开发服务:
rm -rf node_modules package-lock.json npm install npm start
3. 升级reactstrap(可选)
如果你的reactstrap版本过低(比如低于v9),无法适配React 18,执行升级命令:
npm install reactstrap@latest bootstrap@latest
4. 临时类型声明修复(备用方案)
若上述方法无效,在项目src目录下创建declarations.d.ts文件,添加如下类型声明:
declare module 'reactstrap' { import { ComponentType, ReactNode } from 'react'; export const Button: ComponentType<{ children?: ReactNode; [prop: string]: any; }>; }
内容的提问来源于stack exchange,提问作者Mike Malyi
相关产品推荐
相关产品推荐

