Reactstrap is a version Bootstrap made for React.
It’s a set of React components that have Boostrap styles.
In this article, we’ll look at how to add a progress bar and spinners with Reactstrap.
Max Value
We can change the max value of a progress bar.
To do that, we change the max prop.
For instance, we can write:
import React from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import { Progress } from "reactstrap";
export default function App() {
return (
<div className="text-center">
<Progress value={50} max="200" />
</div>
);
}
We set max to 200 so that if the bar is full, the value will be 200.
If we have a segmented progress bar, we have to set the max value of each segment individually.
For instance, we write:
import React from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import { Progress } from "reactstrap";
export default function App() {
return (
<div className="text-center">
<Progress multi>
<Progress bar value="5" max={10}>
5
</Progress>
<Progress bar color="success" value="15" max={200}>
15
</Progress>
<Progress bar color="warning" value="10" max={200}>
10
</Progress>
<Progress bar color="danger" value="10" max={200}>
10
</Progress>
</Progress>
</div>
);
}
Each segment’s bar width is calculated individually so their max value don’t influence each other.
Spinners
We can add a spinner by using the Spinner component.
For instance, we can write:
import React from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import { Spinner } from "reactstrap";
export default function App() {
return (
<div>
<Spinner color="primary" />
</div>
);
}
to add the Spinner component and set the color with the color prop.
Other values for color include secondary , success , danger , warning , info , light or dark .
Growing Spinner
We can add a growing spinner with the type prop set to grow .
For instance, we can write:
import React from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import { Spinner } from "reactstrap";
export default function App() {
return (
<div>
<Spinner type="grow" color="primary" />
</div>
);
}
Sizes
The size can change with the size prop.
So we can write:
import React from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import { Spinner } from "reactstrap";
export default function App() {
return (
<div>
<Spinner size="sm" color="primary" />
</div>
);
}
sm means small and lg means large.
We can also change the width and height individually:
import React from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import { Spinner } from "reactstrap";
export default function App() {
return (
<div>
<Spinner style={{ width: "5rem", height: "5rem" }} color="primary" />
</div>
);
}
We make it big by changing the width and height properties of the style object.
We can add all variants of a spinner by writing:
import React from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import { Spinner } from "reactstrap";
export default function App() {
return (
<div>
<Spinner color="primary" />
<Spinner color="secondary" />
<Spinner color="success" />
<Spinner color="danger" />
<Spinner color="warning" />
<Spinner color="info" />
<Spinner color="light" />
<Spinner color="dark" />
</div>
);
}
Conclusion
We can change the max value of a progress bar.
And we can add a loading spinner with the Spinner component.