React - createPortal

什么是createPortal?

注意這是一個API,不是組件,他的作用是:將一個組件渲染到DOM的任意位置,跟Vue的Teleport組件類似。

用法?

import { createPortal } from 'react-dom';const App = () => {return createPortal(<div>前端s</div>, document.body);
};export default App;

參數

  • children:要渲染的組件
  • domNode:要渲染到的DOM位置
  • key?:可選,用于唯一標識要渲染的組件

?返回值

  • 返回一個React元素(即jsx),這個元素可以被React渲染到DOM的任意位置

應用場景

  • 彈窗
  • 下拉框
  • 全局提示
  • 全局遮罩
  • 全局Loading

?例如 Antd 的 Modal 組件,就是掛載到 body 上的。

?

?案例

?全局loading

src/components/Loadingl/index.tsx


import './index.css'const Loading: React.FC = () => {return <div className="loading">lodaing...</div>;
};export default Loading;

使用createPortal 掛載到body


import { createPortal } from 'react-dom'const Loading = () => {return createPortal(<div className='loading'>loading...</div>,document.body);
}export default Loading;

?createPortal更靈活,可以掛載到任意位置

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88876.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Cursor的使用

Cursor的使用 Ctrl L 打開歷史對話記錄 Tab智能助手 1.單行/多行補全 已有代碼片段&#xff1a; //需求&#xff1a;寫一個工具類計算數組平均值 public class ArrayUtils {//按tab會完成補全 }按tab鍵- Cursor 自動生成代碼: //需求&#xff1a;寫一個工具類計算數組平均值 p…

17.使用DenseNet網絡進行Fashion-Mnist分類

17.1 DenseNet網絡結構設計import torch from torch import nn from torchsummary import summary #卷積層 def conv_block(input_channels,num_channels):netnn.Sequential(nn.BatchNorm2d(input_channels),nn.ReLU(),nn.Conv2d(input_channels,num_channels,kernel_size3,pad…

網安系列【16】之Weblogic和jboss漏洞

文章目錄一 Weblogic1.1 Weblogic相關漏洞1.2 Weblogic漏洞發現1.3 Weblogic漏洞利用二 Jboss2.1 Jboss漏洞2.2 Jboss識別與漏洞利用一 Weblogic WebLogic 是由 Oracle公司 開發的一款基于Java EE&#xff08;現稱Jakarta EE&#xff09;的企業級應用服務器&#xff0c;主要用…

Unity URP + XR 自定義 Skybox 在真機變黑問題全解析與解決方案(支持 Pico、Quest 等一體機)

在使用 Unity 的 URP 渲染管線開發 XR 應用&#xff08;如 Pico Neo、Pico 4、Quest 2/3 等一體機&#xff09;時&#xff0c;很多開發者遇到一個奇怪的問題&#xff1a;打包后&#xff0c;Skybox&#xff08;天空盒&#xff09;在某些角度下突然變黑&#xff0c;只在轉動頭部后…

Cursor、飛算JavaAI、GitHub Copilot、Gemini CLI 等熱門 AI 開發工具合集

Cursor&#xff1a;代碼編寫的智能伙伴?Cursor 是 Anysphere 公司推出的一款 AI 編程工具&#xff0c;它基于微軟開源代碼編輯器 VS Code 開發&#xff0c;將 AI 技術深度整合到開發人員的工作流程中。Cursor 的功能十分強大&#xff0c;不僅能夠自動用純英文編寫代碼&#xf…

如何安裝歷史版本或指定版本的 git

背景 有的時候&#xff0c;我們需要安裝指定版本的git&#xff0c;或者希望舊一點的&#xff0c;畢竟我就遇到最新的2.50.1在win10安裝后打開就一閃而過&#xff0c;而安裝2.49.1就不會 下載 官網可能比較難找&#xff0c;但是這個github倉庫&#xff1a;https://github.com/gi…

LaCo: Large Language Model Pruning via Layer Collapse

發表&#xff1a;EMNLP_FINDING_2024 機構&#xff1a;Shanghai Jiao Tong University 連接&#xff1a;LaCo: Large Language Model Pruning via Layer Collapse - ACL Anthology 代碼&#xff1a;https://github.com/yangyifei729/LaCo Abstract 基于 Transformer 的大語…

服務器內核級故障排查

目錄 **檢查內核級故障(Oops/Panic)的具體操作步驟****1. 查看完整 `dmesg` 日志(含時間戳)****2. 過濾關鍵錯誤信息****3. 檢查系統日志中的內核消息****4. 分析最近一次啟動的日志****5. 檢查是否有 `vmcore` 轉儲文件****常見內核錯誤示例及含義**補充說明:檢查內核級故…

Flink學習筆記:整體架構

開一個新坑&#xff0c;系統性的學習下 Flink&#xff0c;計劃從整體架構到核心概念再到調優方法&#xff0c;最后是相關源碼的閱讀。 今天就來學習 Flink 整體架構&#xff0c;我們先看官網的架構圖圖中包含三部分&#xff0c;分別是 Client、JobManager 和 TaskManager。其中…

【LeetCode 熱題 100】105. 從前序與中序遍歷序列構造二叉樹——(解法二)O(n)

Problem: 105. 從前序與中序遍歷序列構造二叉樹 給定兩個整數數組 preorder 和 inorder &#xff0c;其中 preorder 是二叉樹的先序遍歷&#xff0c; inorder 是同一棵樹的中序遍歷&#xff0c;請構造二叉樹并返回其根節點。 【LeetCode 熱題 100】105. 從前序與中序遍歷序列構…

完美卸載 Ubuntu 雙系統:從規劃到實施的完整指南

&#x1f4d6; 前言 最近成功完成了一次 Ubuntu 雙系統的完整卸載&#xff0c;從最初的分區刪除到最終解決 GRUB 引導問題&#xff0c;整個過程雖然有些曲折&#xff0c;但最終完美解決。本文將詳細分享整個卸載過程&#xff0c;希望能幫助到有類似需求的朋友。 &#x1f3af…

深入理解oracle ADG和RAC

1. 引言 本節詳細介紹oracle ADG和RAC。當然這里講得的詳細是相對理論的深入&#xff0c;不涉及到實驗&#xff0c;比如ADG和RAC的搭建及調優等。 RAC (Real Application Clusters) 和 ADG (Active Data Guard)是Oracle 的兩大核心高可用和災備技術。它們是 Oracle 數據庫高可用…

網絡安全實踐:從環境搭建到漏洞復現

要求&#xff1a;1.搭建docker2.使用小皮面板搭建pikachu靶場3.使用BP的爆破模塊破解pikachu的登陸密碼步驟4.Kail的msf復現永恒之藍一.搭建docker1. Docker介紹Docker 是容器&#xff0c;可以部分完全封閉。封閉意味&#xff1a;一個物質&#xff08;放到容器&#xff09;&…

車載診斷架構 --- 診斷功能開發流程

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

mysql數據庫知識

MySQL數據庫詳解MySQL是目前全球最流行的關系型數據庫管理系統之一&#xff0c;以其開源免費、高效穩定、易于擴展等特點&#xff0c;被廣泛應用于Web開發、企業級應用等場景。本文將從基礎概念、核心特性到實際應用&#xff0c;對MySQL進行全面解析。一、MySQL的基本概念1. 關…

基于springboot的美食文化和旅游推廣系統

博主介紹&#xff1a;java高級開發&#xff0c;從事互聯網行業多年&#xff0c;熟悉各種主流語言&#xff0c;精通java、python、php、爬蟲、web開發&#xff0c;已經做了多年的畢業設計程序開發&#xff0c;開發過上千套畢業設計程序&#xff0c;沒有什么華麗的語言&#xff0…

Rust賦能文心大模型4.5智能開發

文心大模型4.5版本概論 文心大模型4.5是百度推出的最新一代大規模預訓練語言模型,屬于文心大模型(ERNIE)系列。該模型在自然語言處理(NLP)、多模態理解與生成等領域表現出色,廣泛應用于智能搜索、內容創作、對話交互等場景。 核心能力 語言理解與生成 支持復雜語義理解…

前端抓包(不啟動前端項目就能進行后端調試)--whistle

1、安裝 1.1.安裝node.js 1.2.安裝whistle npm install -g whistle2.安裝瀏覽器插件【SwitchyOmega】在谷歌瀏覽器應用商店下載安裝即可配置proxy127.0.0.1:8989是w2 start的端口號啟用代理3.啟動服務&#xff08;每次抓包都得啟動&#xff09; w2 start點擊鏈接訪問網頁 http:…

kettle從入門到精通 第102課 ETL之kettle xxl-job調度kettle的兩種方式

之前我們一起學習過xxl-job調度carte&#xff0c;采用的xxl-job執行器方式&#xff0c;不了解的可以查看《kettle從入門到精通 第六十一課 ETL之kettle 任務調度器&#xff0c;輕松使用xxl-job調用kettle中的job和trans 》 今天我們一起來學習下使用xxl-job直接使用http調用…

純前端 JavaScript 實現數據導出到 CSV 格式

日常開發中&#xff0c;數據導出到文件通常有兩種方式&#xff1a; 在后端處理&#xff0c;以文件流或者資源路徑的方式返回&#xff1b;后端返回數據&#xff0c;前端按需處理后再觸發瀏覽器的下載事件&#xff0c;已保存到本地文件。 這里介紹后者的一種零依賴的實現方式。…