reactstrap/reactstrap

Simple React Bootstrap 5 components

View on GitHub ↗Jump to charts ↓

reactstrap/reactstrap has 10k+ stars and 1k+ forks on GitHub, is written in JavaScript, and was last pushed on Sep 26, 2024. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 40 minutes ago
Added to GitGenius on February 18th, 2025
Created on February 19th, 2016
Open Issues & Pull Requests: 325 (+0)
GitHub issues: Enabled
Number of forks: 1,277
Total Stargazers: 10,509 (+0)
Total Subscribers: 160 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 119.0 days
Mean response time: 719.6 days
90th percentile: 2435.8 days
Tracked items: 36

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 117
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,805 days
Stale 30+ days: 116
Stale 90+ days: 115

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (33)
  • question (29)
  • help wanted (27)
  • enhancement (26)
  • up-for-grabs (21)
  • Hacktoberfest (19)
  • PR Welcome (18)
  • docs (18)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Reactstrap is a React component library that provides stateless Bootstrap 5 components for building user interfaces. The library serves as a bridge between React and Bootstrap, offering pre-built UI components that follow React composition patterns while leveraging Bootstrap's styling and design system. Unlike some Bootstrap integration libraries, reactstrap does not depend on jQuery or Bootstrap's JavaScript, making it a lightweight option for React applications that need Bootstrap-styled components without the associated dependencies.

The core philosophy of reactstrap emphasizes composition and control through props.children rather than named component props. The library uses attributes like isOpen for state management, toggle for callbacks, color for applying Bootstrap color classes, size for controlling dimensions, and tag for customizing component output. This design approach allows developers to compose content flexibly while maintaining clean, predictable component APIs. For advanced positioning features like tooltips, popovers, and auto-flipping dropdowns, reactstrap relies on Popper.js through the react-popper library.

Getting started with reactstrap involves installing the library alongside React and React DOM as required peer dependencies, then importing Bootstrap CSS separately since reactstrap does not bundle styling. The library includes comprehensive documentation at reactstrap.github.io, powered by Algolia's DocSearch for easy searching. CodeSandbox examples are available in a separate repository to help developers experiment with components interactively.

Development workflow uses webpack dev server for running examples locally and includes automated release management through the release-please GitHub action. When a release branch is merged, the package is automatically published and documentation is deployed to the project website. The library has been adopted by numerous organizations and projects including airframe-react for data-intensive web applications, CoreUI for admin templates, DevExtreme for grids and charts, and Jimu UI for ArcGIS Experience Builder. The project encourages community contributions and provides a component-template repository for developers building reusable components on top of reactstrap.