Adding Bootstrap to an existing or new React app is not as obvious or easy as you would think, because of Bootstrap’s dependencies on other libraries, like jQuery (and see answers to Quora question here).
The react-bootstrap module is a React specific implementation of Bootstrap that provides JSX components for a number of the Bootstrap provided styles and components, and even layout CSS encapsulated as JSX components like: <Grid>, <Row> and <Col>
Installing it via npm is as simple as:
npm intall --save react-boostrap
You then import what you need from the module like:
import {Bootstrap, Grid, Row, Col} from 'react-bootstrap';
and then you quickly discover that the CSS based layout is not working like you’d expect. If you check the Getting Started section it mentions:
Because React-Bootstrap doesn’t depend on a very precise version of Bootstrap, we don’t ship with any included css. However, some stylesheet is required to use these components. How and which bootstrap styles you include is up to you, but the simplest way is to include the latest styles from the CDN.
Ok. So you can follow their example and load from the Bootstrap (or other) CDN, but what if you want to manage Bootstrap as an npm module too? This question is answered in this post here. What you need is to install bootstrap:
npm install --save bootstrap
and then include it into your main App.jsx with:
import 'bootstrap/dist/css/bootstrap.css'; import 'bootstrap/dist/css/bootstrap-theme.css';
and you’re up and running. Not that obvious but once you’ve setup this once, probably makes more sense the next time.