栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过shouldComponentUpdate响应无状态功能组件的优化

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过shouldComponentUpdate响应无状态功能组件的优化

无状态组件是将来进行优化的候选者,文档中对此进行了提示,而无需赘述:

在理想的情况下,您的大多数组件都是无状态功能,因为在将来,我们还可以通过避免不必要的检查和内存分配来针对这些组件进行性能优化。如果可能,这是推荐的模式。

资源


但是,目前,如果道具未更改,则无状态组件无法通过跳过渲染过程来优化性能。反应小组的一位成员已确认:

对于复杂的组件,定义

shouldComponentUpdate
(例如,纯渲染)通常将超过无状态组件的性能优势。文档中的句子暗示着我们已经计划了一些未来的优化,这些优化将不会为无状态功能组件分配内部实例(我们只会调用该函数)。我们也可能不保持道具等。微小的优化。我们不会在文档中讨论细节,因为尚未真正实现优化(无状态组件为这些优化打开了大门)。

[…]

关于

pureRender
是否可以在函数上设置标志或允许其参与shouldUpdate生命周期的讨论,目前尚未实现。目前,无状态功能不能是纯渲染的。

值得牢记的是,有时人们滥用/过度使用纯渲染。它有时可能会比再次运行渲染更昂贵,甚至更昂贵,因为您要遍历道具数组并可能执行字符串比较之类的事情,这对于最终返回true然后无论如何都要进行渲染的组件来说都是额外的工作。PureRender
/

shouldComponentUpdate
实际上被认为是性能的逃生之门,并不一定应盲目地应用于每个组件。

资源


我从这次讨论中得出的结论是,在某些情况下,对于复杂组件,与

shouldComponentUpdate
无状态组件相比,可以通过实施来提高性能。另一方面,我将强烈考虑性能优势是否足以抵消组件增加的复杂性和更大的占地面积。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386090.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号