ReactDOM.render(element, container[, callback])
ReactDOM.createPortal(child, container)
都是在提供的 container 里渲染 React 元素,第一個參數(shù)child
或element
是任何可渲染的React
元素楞卡。第二個參數(shù)container
是一個 真實的DOM
元素女气。
主要的區(qū)別在于:
(1)ReactDOM.render在首次調(diào)用時暖璧,會將容器節(jié)點里的所有DOM元素都替換观挎,ReactDOM.createPortal是向container下插入一個子節(jié)點;
(2)ReactDOM.render會直接渲染成DOM元素孕索,而ReactDOM.createPortal則是渲染出React元素,最終還是需要通過ReactDOM.render渲染成真實DOM躏碳;