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的对比过程,提升了性能

相关推荐
vvilkim4 分钟前
深入理解 Spring Boot Starter:简化依赖管理与自动配置的利器
java·前端·spring boot
艾小码10 分钟前
前端安全防护手册:对抗XSS、CSRF、点击劫持等攻击
前端·安全·xss
2401_8370885038 分钟前
setup 语法糖核心要点
开发语言·前端·javascript
用户3379044802171 小时前
HTML5语义化标签详解
前端
唐某人丶1 小时前
教你如何用 JS 实现一个 Agent 系统(1)—— 认识 Agentic System
前端·人工智能
丘山子1 小时前
分享链接格式不统一,rel="share-url" 提案试图解决这个问题
前端·面试·html
你也向往长安城吗2 小时前
基于 navmesh 的路径搜索技术剖析 (游戏、三维方向必看!!!)
javascript·游戏·游戏开发
JustHappy2 小时前
「Versakit攻略」🔥Pnpm+Monorepo+Changesets搭建通用组件库项目和发包流程
前端·javascript·vue.js
紫金龙腾3 小时前
EDGE 、chrome、浏览器显示“由你的组织管理”
前端·chrome·edge
用户66197734585753 小时前
Vue3笔记
前端·vue.js