ReactDOM.render和ReactDOM.createPortal

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

都是在提供的 container 里渲染 React 元素,第一个参数childelement是任何可渲染的React元素。第二个参数container是一个 真实的DOM元素。
主要的区别在于:
(1)ReactDOM.render在首次调用时,会将容器节点里的所有DOM元素都替换,ReactDOM.createPortal是向container下插入一个子节点;
(2)ReactDOM.render会直接渲染成DOM元素,而ReactDOM.createPortal则是渲染出React元素,最终还是需要通过ReactDOM.render渲染成真实DOM;

你可能感兴趣的:(ReactDOM.render和ReactDOM.createPortal)