React TypeScript项目使用react-bootstrap Container报错Invalid Hook call
问题排查及解决方案
你提供的组件代码本身符合React规范,不存在违反Hook使用规则的问题,问题集中在依赖层面,按以下步骤排查即可:
1. 版本兼容性校验
react-bootstrap对React版本有明确要求:
- react-bootstrap 2.x 版本要求项目React版本 >=16.14.0
- 如果你使用的是React 18,需要安装react-bootstrap 2.2.0及以上版本
检查项目package.json中react、react-dom与react-bootstrap的版本匹配度,版本不匹配的话执行命令重装对应版本:
# 卸载旧版本 npm uninstall react-bootstrap # 安装匹配最新稳定版 npm install react-bootstrap bootstrap
2. 重复React副本排查
第三方UI库自带React副本是触发该错误的最常见原因,执行以下命令检查:
npm ls react
如果输出结果中出现多个不同版本的React实例,执行以下命令修复:
# 合并重复依赖 npm dedupe react react-dom # 清除旧依赖缓存重新安装 rm -rf node_modules package-lock.json npm install
3. 补充样式引入(可选,解决组件样式失效问题)
在index.tsx顶部引入bootstrap全局样式,否则react-bootstrap组件样式不会生效:
import 'bootstrap/dist/css/bootstrap.min.css';
内容的提问来源于stack exchange,提问作者joeb
相关产品推荐
相关产品推荐

