【发布时间】:2017-09-05 18:42:11
【问题描述】:
我有一个使用create-react-app 创建的全新项目。我添加了引导程序:
npm install --save bootstrap@3
我已经将它导入到我的根目录index.js:
import 'bootstrap/dist/css/bootstrap.css';
现在,我已将 Bootstrap documentation 中的导航栏示例添加到默认 App.js jsx 的顶部,我得到了一个未格式化的混乱。
我知道 bootstrap 正在这个文件中工作,因为我还添加了一个通过 bootstrap 正确设置样式的按钮。但是导航栏根本不起作用。
这是我的App.js:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<nav className="navbar navbar-toggleable-md navbar-light bg-faded">
<button className="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<a className="navbar-brand" href="#">Navbar</a>
<div className="collapse navbar-collapse" id="navbarNav">
<ul className="navbar-nav">
<li className="nav-item active">
<a className="nav-link" href="#">Home <span className="sr-only">(current)</span></a>
</li>
<li className="nav-item">
<a className="nav-link" href="#">Features</a>
</li>
<li className="nav-item">
<a className="nav-link" href="#">Pricing</a>
</li>
<li className="nav-item">
<a className="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
</nav>
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
<button className="btn">Button</button>
</div>
);
}
}
export default App;
【问题讨论】:
-
问题可能与您使用 v4 bootstrap 示例和 bootstrap v3 有关。
-
如果您无法在 JSFiddle 中重现问题,那么很可能是您的设置中存在问题。检查导航栏时会发生什么? html甚至出现了吗? Create-react-app 使用服务工作者进行缓存,因此您可能需要重新启动服务器并进行硬刷新才能看到您的更改。
-
@bennygenel 这是正确答案。一旦我将我的 npm 包更新到最新版本(bootstrap@4.0.0-alpha.6),它就可以工作了。如果您想重申这一点作为答案,我会接受。
标签: javascript twitter-bootstrap reactjs