TypeScript提示React Bootstrap中缺少Accordion组件该如何解决?
React Bootstrap Accordion组件引入问题解决方法
- 你遇到的这个问题90%以上是因为使用了低于2.0.0版本的React Bootstrap,只有v2.0.0及以上版本才支持
Accordion.Header、Accordion.Body这类点语法的子组件,v1.x版本的Accordion使用完全不同的API结构。 - 首先查看
package.json中react-bootstrap的版本号,若低于2.0.0可以执行命令升级到最新稳定版:npm install react-bootstrap@latest bootstrap@latest
注意:React Bootstrap v2需要搭配Bootstrap 5使用,升级后也要同步更新全局引入的Bootstrap样式文件版本
- 如果确认版本已经是v2.x以上,但VS Code仍提示找不到子组件:
- 若使用TypeScript,检查
@types/react-bootstrap是否同步升级到对应版本,版本不匹配会导致类型提示错误 - 可以按
Ctrl+Shift+P(Mac为Cmd+Shift+P)调出命令面板,执行「TypeScript: Restart TS Server」重启类型服务,或者直接重启VS Code清除缓存即可恢复正常提示
- 若使用TypeScript,检查
- 版本匹配的情况下,你现有的引入代码无需修改,直接在组件中按如下方式使用即可:
<Accordion defaultActiveKey="0"> <Accordion.Item eventKey="0"> <Accordion.Header>标题1</Accordion.Header> <Accordion.Body> 对应的折叠内容 </Accordion.Body> </Accordion.Item> </Accordion>
如果确实需要保留v1.x版本,可以使用旧版API实现折叠功能,示例如下:
// 旧版引入 import { Accordion, Panel } from 'react-bootstrap' // 使用方式 <Accordion defaultActiveKey="0"> <Panel eventKey="0" header="标题1"> 对应的折叠内容 </Panel> </Accordion>
内容的提问来源于stack exchange,提问作者u314
相关产品推荐
相关产品推荐

