您好,登錄后才能下訂單哦!
這篇文章主要介紹了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í)!
免責(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)容。