ReactJS Reactstrap Popover Component

22 Jul, 2021
Reactstrap is a popular front-end library that is easy to use React Bootstrap 4 components. This library contains the stateless React components for Bootstrap 4. The Popover component is a container-type element that hovers over the parent window. We can use the following approach in ReactJS to use the ReactJS Reactstrap Popover Component.
Popover Props:
children: It is used to pass the children element to this component.
trigger: It is used to denote a space-separated list of triggers.
isOpen: It is used to indicate whether to open popover or not.
toggle: It is a callback function for toggling isOpen in the controlling component.
boundariesElement: It is used to denote the boundaries for a popper.
container: It is used to indicate where to inject the popper DOM node.
className: It is used to denote the class name for styling.
popperClassName: It is used to apply a class to the popper component.
innerClassName: It is used to apply a class to the inner-popover.
disabled: It is used to indicate whether the component is disabled or not.
hideArrow: It is used to indicate whether to hide an arrow or not.  
placementPrefix: It is used to denote the placement prefix class like bs-popover, etc.
delay: It is used to denote the delay value.
placement: It is used for the placement of the popover.
modifiers: It is used to denote a custom modifier that is passed to Popper.js
positionFixed: It is used to indicate whether the popover pointing element has position: fixed styling or not.
offset: It is used to denote offset element.
fade: It is used to indicate whether to show/hide the popover with a fade effect.
flip: It is used to indicate whether to flip the direction of the popover if too close to the container edge.
Creating React Application And Installing Module:
Step 1: Create a React application using the following command:
npx create-react-app foldername
 
Step 2: After creating your project folder i.e. foldername, move to it using the following command:
cd foldername
Step 3: After creating the ReactJS application, Install the required module using the following command:
npm install reactstrap bootstrap
Project Structure: It will look like the following.
Project Structure
Example 1: Now write down the following code in the App.js file. Here we have shown Popover with a header component and the placement of popover is at the bottom position.
Javascript
import React from 'react'import 'bootstrap/dist/css/bootstrap.min.css';import { Button, Popover, PopoverHeader, PopoverBody } from "reactstrap"  function App() {      // Popover open state    const [popoverOpen, setPopoverOpen] = React.useState(false);      return (        <div style={{            display: 'block', width: 700, padding: 30        }}>            <h4>ReactJS Reactstrap Popover Component</h4>            <Button id="Popover1" type="button">                Click me to Open Popover            </Button> <br></br>            <Popover                placement="bottom" isOpen={popoverOpen}                target="Popover1" toggle=                    {() => { setPopoverOpen(!popoverOpen) }}>                <PopoverHeader>Sample Popover Title</PopoverHeader>                <PopoverBody>Sample Body Text to display...</PopoverBody>            </Popover>        </div >    );}  export default App;
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
Example 2: Now write down the following code in the App.js file. Here we have shown Popover without a header component and the placement of popover is at the right position.
Javascript
import React from 'react'import 'bootstrap/dist/css/bootstrap.min.css';import { Button, Popover, PopoverBody } from "reactstrap"  function App() {      // Popover open state    const [popoverOpen, setPopoverOpen] = React.useState(false);      return (        <div style={{            display: 'block', width: 700, padding: 30        }}>            <h4>ReactJS Reactstrap Popover Component</h4>            <Button id="Popover" color="primary">                Click to Open Popover            </Button> <br></br>            <Popover                placement="right" isOpen={popoverOpen}                target="Popover" toggle=                    {() => { setPopoverOpen(!popoverOpen) }}>                <PopoverBody>Sample Body Text to display...</PopoverBody>            </Popover>        </div >    );}  export default App;
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
Reference: https://reactstrap.github.io/components/popovers/
Reactstrap
JavaScript
ReactJS
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Difference between var, let and const keywords in JavaScript
Differences between Functional Components and Class Components in React
Remove elements from a JavaScript Array
Roadmap to Learn JavaScript For Beginners
Difference Between PUT and PATCH Request
How to fetch data from an API in ReactJS ?
How to redirect to another page in ReactJS ?
Axios in React: A Guide for Beginners
ReactJS Functional Components