Reactstrap

Simple React Bootstrap 5 components
Alternatives To Reactstrap
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
React Bootstrap21,93729,4214,9342 days ago208July 05, 2023156mitTypeScript
Bootstrap components built with React
Js Stack From Scratch19,3962a year ago1January 19, 201748mitJavaScript
🛠️⚡ Step-by-step tutorial to build a modern JavaScript stack.
Reactstrap10,5319,7811,82425 days ago166June 09, 2023298mitJavaScript
Simple React Bootstrap 5 components
Primereact4,54616425721 hours ago128August 01, 2023248mitCSS
The Most Complete React UI Component Library
Coreui Free React Admin Template4,13426 days ago2November 01, 20201mitJavaScript
CoreUI React is a free React admin template based on Bootstrap 5
Airframe React3,825
8 months ago45mitJavaScript
Free Open Source High Quality Dashboard based on Bootstrap 4 & React 16: http://dashboards.webkom.co/react/airframe
100 Days Of Code Frontend2,338
2 years ago4mit
Curriculum for learning front-end development during #100DaysOfCode.
React Bootstrap Table2,2281,0801243 years ago211December 23, 2017430mitJavaScript
A Bootstrap table built with React.js
Tabler React2,0962139 months ago66June 30, 201983mitCSS
React components and demo for the Tabler UI theme.
Devextreme Reactive2,0151301042 months ago104July 03, 202379otherTypeScript
Business React components for Bootstrap and Material-UI
Alternatives To Reactstrap
Select To Compare


Alternative Project Comparisons
Readme

reactstrap

NPM Version Build Status Coverage Status License

reactstrap

Stateless React Components for Bootstrap 5.

If you're using Bootstrap 4, you'll need to use Reactstrap v8

Getting Started

Follow the create-react-app instructions to get started and then follow the reactstrap version of adding bootstrap.

tl;dr

npx create-react-app my-app
cd my-app/
npm start

or, if npx (Node >= 6 and npm >= 5.2 ) not available

npm install -g create-react-app

create-react-app my-app
cd my-app/
npm start

Then open http://localhost:3000/ to see your app. The initial structure of your app is setup. Next, let's add reactstrap and bootstrap.

Adding Bootstrap

Install reactstrap and Bootstrap from NPM. Reactstrap does not include Bootstrap CSS so this needs to be installed as well:

npm i bootstrap
npm i reactstrap react react-dom

Import Bootstrap CSS in the src/index.js file:

import 'bootstrap/dist/css/bootstrap.css';

Import required reactstrap components within src/App.js file or your custom component files:

import { Button } from 'reactstrap';

Now you are ready to use the imported reactstrap components within your component hierarchy defined in the render method. Here is an example App.js redone using reactstrap.

Dependencies

Required Peer Dependencies

These libraries are not bundled with Reactstrap and required at runtime:

About the Project

This library contains React Bootstrap components that favor composition and control. The library does not depend on jQuery or Bootstrap javascript. However, Poppers.js via react-popper is relied upon for advanced positioning of content like Tooltips, Popovers, and auto-flipping Dropdowns.

There are a few core concepts to understand in order to make the most out of this library.

  1. Your content is expected to be composed via props.children rather than using named props to pass in Components.

    // Content passed in via props
    const Example = (props) => {
      return (
        <p>This is a tooltip <TooltipTrigger tooltip={TooltipContent}>example</TooltipTrigger>!</p>
      );
    }
    
    // Content passed in as children (Preferred)
    const PreferredExample = (props) => {
      return (
        <p>
          This is a <a href="#" id="TooltipExample">tooltip</a> example.
          <Tooltip target="TooltipExample">
            <TooltipContent/>
          </Tooltip>
        </p>
      );
    }
    
  2. Attributes in this library are used to pass in state, conveniently apply modifier classes, enable advanced functionality (like tether), or automatically include non-content based elements.

    Examples:

    • isOpen - current state for items like dropdown, popover, tooltip
    • toggle - callback for toggling isOpen in the controlling component
    • color - applies color classes, ex: <Button color="danger"/>
    • size - for controlling size classes. ex: <Button size="sm"/>
    • tag - customize component output by passing in an element name or Component
    • boolean based props (attributes) when possible for alternative style classes or visually-hidden content

Documentation

https://reactstrap.github.io

Documentation search is powered by Algolia's DocSearch.

CodeSandbox Examples

Here are some ready-to-go examples for CodeSandbox that you can experiment with.

reactstrap/code-sandbox-examples

Contributing

Development

Install dependencies:

yarn install

Run examples at http://localhost:8080/ with webpack dev server:

yarn start

Run tests & coverage report:

yarn cover

Watch tests:

yarn test

Releasing

Release branches/versioning/notes will be automatically created and maintained by the release-please github action. When you're ready to publish the release, just merge the release branch. The release will be created, the new package will be published, and the updated docs will be deployed to https://reactstrap.github.io/.

In the wild

Organizations and projects using reactstrap

Submit a PR to add to this list!

Looking to build, document and publish reusable components built on top of reactstrap? Consider forking reactstrap/component-template to kickstart your project!

Popular Bootstrap Projects
Popular Reactjs Projects
Popular Web User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Reactjs
Bootstrap
Popover
Popper