Friday, September 5, 2025
HomeLanguagesReact Suite Portal Component

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() {
  
  // State to handle visibility
  const [isVisible, setVisibility] = React.useState(false);
  
  // Box Ref
  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/

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
RELATED ARTICLES

Most Popular

Dominic
32264 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6634 POSTS0 COMMENTS
Nicole Veronica
11801 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11863 POSTS0 COMMENTS
Shaida Kate Naidoo
6750 POSTS0 COMMENTS
Ted Musemwa
7025 POSTS0 COMMENTS
Thapelo Manthata
6701 POSTS0 COMMENTS
Umr Jansen
6718 POSTS0 COMMENTS