reactstrap/reactstrap

Simple React Bootstrap 5 components

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 51 minutes ago
Added to GitGenius on February 18th, 2025
Created on February 19th, 2016
Open Issues & Pull Requests: 325 (+0)
Number of forks: 1,281
Total Stargazers: 10,512 (+0)
Total Subscribers: 158 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 125.8 days
Mean response time: 737.2 days
90th percentile: 2435.8 days
Tracked items: 35

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 97% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 2% of issues opened in the past year have been closed.

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,803 days
Stale 30+ days: 117
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

No issue events were indexed in the last 7 days.

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.