React使用Carousel报错cannot be invoked without 'new'求助
问题根因
Slider.js中导入Carousel的来源错误:你当前从bootstrap包导入的是原生JS类,不是React组件,无法直接在JSX中作为标签使用,React渲染组件时不会主动加new调用,因此触发类型错误。- 你已经安装了
react-bootstrap依赖,正确的Carousel React组件应当从react-bootstrap包导入。
修复步骤
- 修正
Slider.js的导入语句
将原有导入代码:
import { Carousel } from 'bootstrap'
替换为:
// 两种导入方式二选一即可 import { Carousel } from 'react-bootstrap' // 或:import Carousel from 'react-bootstrap/Carousel'
- 补全Carousel的合法组件结构
react-bootstrap的Carousel必须搭配Carousel.Item子组件使用,完整示例代码如下:
import { Carousel } from 'react-bootstrap' import React from 'react' const Slider = () => { return ( <div> <Carousel> <Carousel.Item> <img className="d-block w-100" src="替换为你的轮播图地址" alt="轮播图1" /> <Carousel.Caption> <h3>轮播1标题</h3> <p>轮播1描述内容</p> </Carousel.Caption> </Carousel.Item> <Carousel.Item> <img className="d-block w-100" src="替换为你的轮播图地址" alt="轮播图2" /> <Carousel.Caption> <h3>轮播2标题</h3> <p>轮播2描述内容</p> </Carousel.Caption> </Carousel.Item> </Carousel> </div> ) } export default Slider
- 确保bootstrap样式已引入
在项目入口文件(通常是src/index.js)顶部添加样式引入,避免组件样式失效:
import 'bootstrap/dist/css/bootstrap.min.css'
内容的提问来源于stack exchange,提问作者Devendra singh
相关产品推荐
相关产品推荐

