How to override Bootstrap theme colors in bootstrapped react/redux app?
First refer this, Bootstrap webpack
This is one way of using bootstrap in reactjs projects.
You are importing compiled version of bootstrap css by doing this
import 'bootstrap/dist/css/bootstrap.min.css'; //Dont do this
Instead you should do this
In your app.scss file,
first define your color
$primary: #13C7CD;
$danger: #red;
then
import scss version of bootstrap
@import '~bootstrap/scss/bootstrap';
~
means webpack will search for it in node_modules
After this import the app.scss file in your main js file(can be index.js or app.js)
import './styles/app.scss';
How this works
When you define your color variables before importing bootstrap scss, the resulting complied css will have your color values
You can make the overrides and import Bootstrap entirely in the app.scss
file. It's important the Bootstrap is imported after the theme color changes to override the !default theme-colors defined in bootstrap _variables.scss.
@import '_settings.scss';
@import '_base.scss';
@import './components/_header.scss';
/* import only the Bootstrap files needed for customizations */
@import "node_modules/bootstrap/scss/functions";
@import "node_modules/bootstrap/scss/variables";
/* make the customizations */
$theme-colors: (
"primary": #991196,
"danger": #ff4136
);
/* import bootstrap to set changes */
@import "node_modules/bootstrap/scss";
When the react app is built and the SASS is compiled then generated CSS will contain your customizations and Bootstrap so that you won't need to separately import bootstrap in react.
Demo: https://www.codeply.com/go/Tho2TEwoI1