反应套件门户组件
原文:https://www.geeksforgeeks.org/react-suite-portal-component/
React Suite 是一个流行的前端库,包含一组为中间平台和后端产品设计的 React 组件。P 门户组件将其子组件渲染到当前 DOM 层次结构外的新子树中。 我们可以在 ReactJS 中使用以下方法来使用 React Suite 门户组件。
门户道具:
- 儿童:用来表示子成分。
- 容器:用于表示渲染子组件容器。
- onRendered: 用于表示渲染的回调函数。
创建反应应用程序并安装模块:
-
步骤 1: 使用以下命令创建一个反应应用程序:
jsx npx create-react-app foldername
-
步骤 2: 创建项目文件夹(即文件夹名)后,使用以下命令移动到该文件夹中:
jsx cd foldername
-
步骤 3: 创建 ReactJS 应用程序后,使用以下命令安装所需的*模块:*
jsx **npm install rsuite**
**项目结构:如下图。****
****
项目结构****
**示例:现在在 App.js 文件中写下以下代码。在这里,App 是我们编写代码的默认组件。****
*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>
)
}**
**运行应用程序的步骤:从项目的根目录使用以下命令运行应用程序:****
**npm start**
**输出:现在打开浏览器,转到http://localhost:3000/,会看到如下输出:****
**
**参考:T2】https://rsuitejs.com/components/portal/****
版权属于:月萌API www.moonapi.com,转载请注明出处