React面试题:React.Component和React.PureComponent的区别?

React面试题:React.Component和React.PureComponent的区别?

回答思路:什么是PureComponent-->Component更新过程-->PureComponent更新过程-->PureComponent的优点

什么是PureComponent:

pure:纯净的,即为纯组件,可以用来优化React程序,减少render函数执行的次数,提高组件的性能。

Component更新过程 :

在react中当props或state发生改变时,会执行render函数更新页面,若不想更新页面,可以通过在shouldComponentUpdate生命周期函数中执行return false来阻止页面的更新(默认返回true),从而减少不必要的render执行。

PureComponent更新过程:

自动执行shouldComponentUpdate,执行该函数是进行浅比较,如果在页面中使用了引用类型的数据,当执行该函数更新时只会比较是不是同一地址,而不会比较这个地址中的数据是否一致,浅比较会忽略属性或状态的突变,如果只改变引用数据类型的值,则不会执行render函数,如果需要重新渲染则需另外开辟空间引用数据,所以pureComponent一般会用在一些纯展示组件上

PureComponent的优点:

当组件更新时,若props或state都没有改变,render函数就不会触发,省去了DOM的对比过程,提升了性能

相关推荐
罗超驿11 小时前
22.任务清单应用开发实战:从HTML结构到JavaScript交互的完整实现
javascript·html·交互
Qres82111 小时前
Hexo博客本地配置
前端·博客·hexo
Bigger11 小时前
GitLab-Runner + AI 代码审查服务 + 远程大模型 全套部署运维实战
前端·ci/cd·ai编程
_xaboy11 小时前
开源AI表单设计器 FcDesigner v3.5 版本发布!
前端·vue.js·低代码·开源·表单
爱讲故事的11 小时前
操作系统第三讲:Context Switch —— 用户态如何安全地进入内核态?
前端·javascript·安全
light blue bird11 小时前
支轴事件任务线程执行工序路径的图表组件
前端·jvm·windows
终端行者11 小时前
企业级 Jenkins Pipeline 实战Docker构建前端+Ansible发布
前端·ci/cd·docker·jenkins
风之舞_yjf12 小时前
Vue基础(33)_web Storage(web存储)
前端·javascript·vue.js
夜白宋12 小时前
【Redis深入】二、高性能
java·前端·redis