What is reactstrap?
Reactstrap is a popular library that provides Bootstrap 4 components for React applications. It allows developers to use Bootstrap's powerful and responsive design system within their React projects, making it easier to create visually appealing and functional user interfaces.
What are reactstrap's main functionalities?
Buttons
Reactstrap provides a variety of button components that can be customized with different colors, sizes, and styles. The example shows a primary button.
<Button color="primary">Primary Button</Button>
Modals
Reactstrap includes modal components that can be used to create dialog boxes. The example demonstrates a modal with a header, body, and footer.
<Modal isOpen={modal} toggle={toggle}><ModalHeader toggle={toggle}>Modal title</ModalHeader><ModalBody>Modal content</ModalBody><ModalFooter><Button color="primary" onClick={toggle}>Do Something</Button><Button color="secondary" onClick={toggle}>Cancel</Button></ModalFooter></Modal>
Forms
Reactstrap provides form components to create various types of forms. The example shows a simple form with email and password fields.
<Form><FormGroup><Label for="exampleEmail">Email</Label><Input type="email" name="email" id="exampleEmail" placeholder="Enter your email" /></FormGroup><FormGroup><Label for="examplePassword">Password</Label><Input type="password" name="password" id="examplePassword" placeholder="Enter your password" /></FormGroup><Button>Submit</Button></Form>
Navbars
Reactstrap includes navbar components to create responsive navigation headers. The example shows a simple navbar with links.
<Navbar color="light" light expand="md"><NavbarBrand href="/">Brand</NavbarBrand><NavbarToggler onClick={toggle} /><Collapse isOpen={isOpen} navbar><Nav className="ml-auto" navbar><NavItem><NavLink href="/components/">Components</NavLink></NavItem><NavItem><NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink></NavItem></Nav></Collapse></Navbar>
Cards
Reactstrap provides card components to create flexible and extensible content containers. The example shows a card with an image, title, text, and button.
<Card><CardImg top width="100%" src="/path/to/image.jpg" alt="Card image cap" /><CardBody><CardTitle>Card Title</CardTitle><CardText>Some quick example text to build on the card title and make up the bulk of the card's content.</CardText><Button>Button</Button></CardBody></Card>
Other packages similar to reactstrap
react-bootstrap
React-Bootstrap is another popular library that provides Bootstrap components for React. It offers a similar set of features to Reactstrap but is built with a different approach. React-Bootstrap replaces the Bootstrap JavaScript with React components, providing a more seamless integration with React's ecosystem.
material-ui
Material-UI is a library that provides React components implementing Google's Material Design. While it offers a different design language compared to Bootstrap, it serves a similar purpose in providing pre-built, customizable components for building user interfaces in React applications.
semantic-ui-react
Semantic UI React is the official React integration for Semantic UI. It provides a set of React components that follow the Semantic UI design framework, offering a different set of design principles and components compared to Bootstrap-based libraries like Reactstrap.
reactstrap
A work in progress react component library for Bootstrap 4. Don't use this just yet.
Installation
Add reactstrap
as a dependency via npm:
npm install reactstrap --save
Import the components you need, example:
import { Button } from 'lib/index';
Buttons
Basic Button Styles
import React from 'react';
import { Button } from 'lib/index';
const Example = (props) => {
return (
<div>
<Button color="primary">primary</Button>
<Button color="secondary">secondary</Button>
<Button color="success">success</Button>
<Button color="info">info</Button>
<Button color="warning">warning</Button>
<Button color="danger">danger</Button>
<Button color="link">link</Button>
</div>
);
};
Support for using custom components
import React from 'react';
import { Link } from 'react-router'
import { Button } from 'lib/index';
const Example = (props) => {
return (
<div>
<Button el={Link} to="/home" color="link">Home Link</Button>
</div>
);
};
more coming soon
Development
Install dependencies:
npm install
Run examples at http://localhost:8080/ with webpack dev server:
npm start
Run tests & coverage report:
npm test
Watch tests:
npm run test-watch