react 嵌套渲染_React使用原理

本文探讨了React组件的Portals特性,如何利用ReactDom.createPortal实现在父组件外部渲染,以及它对页面展示效果的影响。接着介绍了Context API,作为在深层组件间传递props的解决方案,避免不必要的麻烦。接着提到了React的懒加载技术,通过React.lazy和React.Suspense的结合使用。然后讨论了React性能优化,包括shouldComponentUpdate、PureComponent和memo的使用。最后,文章触及了React组件生命周期,特别是componentDidMount在异步操作和DOM更新中的角色。
摘要由CSDN通过智能技术生成

一 Portals

组件会按照既定层次嵌套渲染,如何让组件渲染到父组件以外? 可以使用ReactDom.createPortal来做,在父子组件层级很深的情况下,如何把组件放到外面去。

<div className="modal">
   {this.props.children}
</div>

<PortalDemo>
  modal框
</PortalDemo>

这样会导致层级的深度,不利于页面展示效果

5130c10b6841515dd267632bfe272e42.png

使用 ReactDom.createPortal 方法将组件放入最外面能够使类似于弹框的效果更加明显

return ReactDom.createPortal(
    <div className="modal">
  {this.props.children}
</div>,
document.body
)

效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值