React Suite Portal Component
React Suite is a popular front-end library with a set of React components that are designed for the middle platform and back-end products. Portal component renders its children into a new subtree outside the current DOM hierarchy. We can use the following approach in ReactJS to use the React Suite Portal Component.
Portal Props:
- children: It is used to denote the Subcomponents.
- container: It is used to denote a render subcomponents Container.
- onRendered: It is used to denote a rendered callback function.
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 rsuite
Project Structure: It will look like the following.
Project Structure
Example: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.
App.js
import React from 'react'
import 'rsuite/dist/styles/rsuite-default.css' ;
import { Portal } from 'rsuite' ;
export default function App() {
const [isVisible, setVisibility] = React.useState( false );
const box = React.useRef( null );
return (
<div style={{ display: 'block' , padding: 30, width: 500 }}>
<h4>React Suite Portal Component</h4>
<button type= "button" onClick={() => setVisibility(!isVisible)}>
{!isVisible ? 'Mount Children' : 'Unmount Children' }
</button>
<div style={{
backgroundColor: 'yellow' ,
border: '5px solid black' ,
}}>
Sample Text
{isVisible ? (
<Portal container={box.current}>
<span>Your Data is Mounted here :)</span>
</Portal>
) : null }
<div style={{
backgroundColor: 'orange' ,
border: '5px solid black' ,
}} ref={box} />
</div>
</div>
)
}
|
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://rsuitejs.com/components/portal/
Last Updated :
11 Apr, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...