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

相关推荐
wuhen_n3 小时前
结构化Prompt——让AI说“人话”
前端·vue.js·ai编程
En^_^Joy3 小时前
JavaScript入门指南:从零到精通
开发语言·javascript
前端小趴菜053 小时前
vue3-signature实现电子签名
前端·javascript·vue.js
玉米Yvmi3 小时前
React自定义Hook实战指南:从入门到精通,让你的代码像乐高一样灵活
前端·react.js·面试
CharlieWang3 小时前
AI + Cloudflare = 你需要的全部
前端·敏捷开发·全栈
董员外3 小时前
从零实现 AI 编程助手:LangChain.js + ReAct 循环实战
前端·javascript·后端
bluceli3 小时前
JavaScript BigInt:处理大数值的终极解决方案
前端·javascript
不懂代码的切图仔3 小时前
小程序web-view嵌入h5扫码 html5-qrcode库使用方法
前端·微信
不懂代码的切图仔3 小时前
小程序web-view嵌入h5扫码 jssdk方式
前端·微信小程序
软弹3 小时前
Vue2、Vue3、React 状态管理全方位对比
前端·javascript·vue.js·react.js