Bootstrap 在 create-react-app 中不起作用

Posted

技术标签:

【中文标题】Bootstrap 在 create-react-app 中不起作用【英文标题】:Bootstrap is not working in create-react-app 【发布时间】:2018-12-21 17:19:49 【问题描述】:

我正在尝试使用此导航栏,而似乎课程不起作用: 我完成了文档中描述的所有步骤。 我已经在 index.js 中导入了它:

import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';


ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();

然后我尝试用它的类来实现导航栏,但看起来很丑,根本不工作。:

<nav className="navbar navbar-expand-lg navbar-dark navbar-custom fixed-top">
      <div className="container">
        <a className="navbar-brand" href="#">Start Bootstrap</a>
        <button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span className="navbar-toggler-icon"></span>
        </button>
        <div className="collapse navbar-collapse" id="navbarResponsive">
          <ul className="navbar-nav ml-auto">
            <li className="nav-item">
            <Link to="/">Home<span classNameName="sr-only">(current)</span></Link>
            </li>

           <li classNameNameName="nav-item">
       <Link to="/signin">Sign In</Link>
      </li>
      <li classNameNameName="nav-item">
      <Link to="/signup">Sign Up</Link>
      </li>
          </ul>
        </div>
      </div>
    </nav>

正如您在图像中看到的那样,它应该不是真正的导航栏。还有一点是,在生成这个应用程序之后,根本就没有 index.html 文件。所以我导入 bootstrap 的唯一地方是 index.js 如何解决此问题以使 nav bare 与 bootstrap 一起正常工作?

【问题讨论】:

请注意,本机引导程序使用 jquery,而 jquery 和 react 在 dom 操作方面不能很好地协同工作。你可以试试React-Bootstrap 或Reactstrap 我应该使用 3rt 库和物化 css 吗?由于这应该是一个非常大的项目,我们不想添加太多的库。 这是不利的一面。我读过反馈说是的库增加了整个代码的权重。关于具体化 css,这取决于要求和偏好,但我上次使用 Reactstrap 时使用的是 Bootstrap 4,您已经可以使用 sassscss 修改/创建自己的 css 类以在全局范围内使用它。回到您的问题,我认为导航栏效果不佳,因为缺少 jquery 并且引导程序也依赖它进行定位。 【参考方案1】:

安装 bootstrap npm 并安装 react-dom 如果没有安装。命令在这里

 npm install --save react react-dom
 npm install --save react-bootstrap

现在在 your_project_name->public>index.html 中添加 css 文件

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

导入您在组件中需要的引导模块,例如在下面

import  Button,Navbar,Nav,NavItem,NavDropdown,MenuItem  from 'react-bootstrap';

如果您需要视频教程,请点击链接 react-js bootstrap video tutorial

【讨论】:

【参考方案2】:

由于您已经在应用模块中安装了引导程序包,因此无需在此处提供相对路径。你可以在下面导入它..

index.js

import 'bootstrap/dist/css/bootstrap.min.css';

您可以在 index.css 文件中导入引导文件,即

index.css

import '../node_modules/bootstrap/dist/css/bootstrap.min.css';

import '~node_modules/bootstrap/dist/css/bootstrap.min.css';

现在您正在添加一个 css 文件,因此请确保您已在 webpack 配置中配置了 css 加载器。

【讨论】:

我也在尝试这个 css 文件运行良好,但是 bootstrap js not.so nav bar 不能工作这样的折叠或下拉...

以上是关于Bootstrap 在 create-react-app 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

React 脚手架的搭建

创建并运行rn app项目

为使用 redux 的站点创建 npm 包

反应打字稿测试TypeError:MutationObserver不是构造函数

在 Heroku 上配置单页 Create-React-App

在 Firebase 上创建 React App 会破坏我在前端的所有 Express 端点