You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React项目引入Bootstrap组件报错:class constructors must be invoked with 'new'

解决React中Bootstrap组件报错“class constructors must be invoked with 'new'”

问题根源

你直接从bootstrap包导入的Button是原生Bootstrap的JavaScript类组件,这类组件需要通过new关键字实例化使用,但React的JSX是直接渲染组件的语法,两者不兼容,才触发了这个报错。之前尝试的换Node版本、清缓存、重装npm等操作都是环境层面的调整,没触及问题本质,所以无效。

两种可行解决方案

方案1:使用原生Bootstrap的HTML类(无需导入JS组件)

直接用普通的<button>标签搭配Bootstrap的CSS类即可,不需要导入Bootstrap的JS组件:

import logo from "./logo.svg";
import "./App.css";
import "bootstrap/dist/css/bootstrap.css";

function App() {
    return <button className="btn btn-primary">Add</button>;
}

export default App;

方案2:使用React Bootstrap(React专属适配库)

如果想保留组件式的写法,需要安装专门为React适配的react-bootstrap库:

  1. 安装依赖
npm install react-bootstrap bootstrap
  1. 修改组件代码
import logo from "./logo.svg";
import "./App.css";
import { Button } from "react-bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";

function App() {
    return <Button variant="primary">Add</Button>;
}

export default App;

内容的提问来源于stack exchange,提问作者Jakubbo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 09:03:13