juejin小册|react|14 如何避免重复渲染?

本文探讨React中重复渲染的问题,指出虽然React提供了一些避免重复渲染的方案,但实践中仍存在误区。文章强调了优化时机的重要性,指出只有在性能问题影响用户体验时才需要优化。内容包括优化时机分析、问题定位方法、常见问题与处理方案,如使用React.memo、PureComponent和不可变数据等。此外,还提到错误的优化实践,如在jsx中使用箭头函数导致的组件重复渲染。
摘要由CSDN通过智能技术生成

上一讲讲到,React 的性能问题通常有两类:一类是长列表,一类是重复渲染。这里再提一下长列表,它指的是你的页面渲染了很长的列表,通常有上百甚至上千行数据。长列表本身不是 React 特有的问题,无论是什么技术栈,都可能遇到。它的通用解决方案是采用虚拟滚动,业界做得比较好的解决方案有react-virtualized和react-window,已经非常成熟了。

那重复渲染的解决方案有没有这么成熟呢?不仅没有,甚至还存在一些误区。所以这一讲我们就这个主题来讲解下。

破题

在前面的生命周期与渲染流程等章节中都有提过避免重复渲染的具体方案,但为什么还是会发生重复渲染呢?因为当业务复杂度与项目规模还没有上升到引发页面性能下降时,这个问题不值得探讨,因为即使处理了也会白费功夫。这就让我想起了这句话:

过早的优化是万恶之源。
—— Donald Knuth 《计算机编程艺术》
互联网时代,是一个追求快速交付的时代。保证业务快速上线远比代码质量更为重要。只要业务能跑,性能往往是相对靠后的要求。这就需要我们明确优化时机的问题,即什么时候该做,什么时候不该做。

其次需要讨论如何排查问题页面,借助什么工具去定位?

然后就是一些常见忽略的点,即有哪些我们以为不会引发重渲染的写法,实际上会有问题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习记录wanxiaowan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值