溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

react-dom的五個(gè)接口是什么

發(fā)布時(shí)間:2020-11-12 10:23:55 來源:億速云 閱讀:209 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了react-dom的五個(gè)接口是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

react-dom是react開發(fā)項(xiàng)目時(shí)需要使用的工具包,是一種針對(duì)dom的平臺(tái)實(shí)現(xiàn),主要用于在web端進(jìn)行渲染。react-dom包提供了DOM特定的方法,可以在應(yīng)用程序的頂層使用,也可以作為React模型之外的特殊操作DOM的接口。

使用react開發(fā)網(wǎng)頁的話,我們難免會(huì)下載兩個(gè)包,一個(gè)是react,一個(gè)是react-dom,其中react是react的核心代碼。

react-dom 的 package 提供了可在應(yīng)用頂層使用的 DOM(DOM-specific)方法,react-dom 包提供了 DOM 特定的方法,可以在你的應(yīng)用程序的頂層使用,如果有需要,你可以把這些方法用于 React 模型以外的地方,作為 React模型 之外的特殊操作DOM的接口。不過一般情況下,大部分組件都不需要使用這個(gè)模塊。

如果你使用 npm 和 ES6,你可以用 import ReactDOM from 'react-dom'進(jìn)行引入。如果你使用 npm 和 ES5,你可以用 var ReactDOM = require('react-dom')進(jìn)行引入。

react-dom的五個(gè)接口

1、render()

ReactDOM.render(element, container[, callback])

在提供的 container 里渲染一個(gè) React 元素,并返回對(duì)該組件的引用(或者針對(duì)無狀態(tài)組件返回 null)。

如果 React 元素之前已經(jīng)在 container 里渲染過,這將會(huì)對(duì)其執(zhí)行更新操作,并僅會(huì)在必要時(shí)改變 DOM 以映射最新的 React 元素。

如果提供了可選的回調(diào)函數(shù),該回調(diào)將在組件被渲染或更新之后被執(zhí)行。

2、hydrate()

ReactDOM.render(element, container[, callback])
// 渲染一個(gè) React 元素到由 container 提供的 DOM 中,并且返回組件的一個(gè) 引用(reference) (或者對(duì)于 無狀態(tài)組件 返回 null )

3、unmountComponentAtNode()

ReactDOM.unmountComponentAtNode(container)
// 從 DOM 中移除已裝載的 React 組件,并清除其事件處理程序和 state 。 如果在容器中沒有掛載組件,調(diào)用此函數(shù)什么也不做。 如果組件被卸載,則返回 true ,如果沒有要卸載的組件,則返回 false

4、findDOMNode() 不建議使用

ReactDOM.findDOMNode(component)
// 如果組件已經(jīng)被裝載到 DOM 中,這將返回相應(yīng)的原生瀏覽器 DOM 元素。在大多數(shù)情況下,你可以綁定一個(gè) ref 到 DOM 節(jié)點(diǎn)上,從而避免使用findDOMNode。

5、createPortal() 這個(gè)很有用處,啊啊??!

ReactDOM.createPortal(child, container)
// 創(chuàng)建一個(gè) 插槽(portal) 。 插槽提供了一種方法,可以將子元素渲染到 DOM 組件層次結(jié)構(gòu)之外的 DOM 節(jié)點(diǎn)中

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享react-dom的五個(gè)接口是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI