ReactDOM.createPortal(child, container)函数可以将子节点渲染到存在于父组件以外的DOM节点上,那么通过Portal进行事件冒泡时,会冒泡到
区块链毕设网qklbishe.com为您提供问题的解答
ReactDOM.createPortal(child, container)函数可以将子节点渲染到存在于父组件以外的DOM节点上,那么通过Portal进行事件冒泡时,会冒泡到
- portal 保留它在React树中的位置,不管它在DOM树中的实际位置。
- 这意味着在portal 中触发的事件将向上传播到包含React树中的祖先,即使它在DOM树的其他地方。
- DOM Tree ≠ React Tree , the event propagation follows the React tree , 从portal内部触发的事件会一直冒泡至包含React树的祖先
// jsx , 通过portal将button节点传送至于外层div同级 const JSX = ( <div className="theComponent" > <Portal> <button className="portalButton" onClick={onClickFunction}> <button /> </Portal> </div> ); //实际渲染的 DOM <body> <div class="theComponent"></div> <button class="portalButton" /> </body>
在这个例子中,虽然看起来portal中的portalButton按钮是独立于theComponent div的,但在React树中,theComponent是祖先。因此,onClick事件将冒泡至React树的祖先
27:29
以上就是关于问题ReactDOM.createPortal(child, container)函数可以将子节点渲染到存在于父组件以外的DOM节点上,那么通过Portal进行事件冒泡时,会冒泡到的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训