当前位置: 首页 > article >正文

打造高性能的react

根本目的就是减少重复渲染
使用使用 shouldComponentUpdate 规避冗余的更新逻辑
shouldComponentUpdate触发的条件是只要父组件更新了,就会被触发,在里面判断传入的pros是否改变,
不变则返回false
PureComponent + Immutable.js
PureComponent其实就是内置了对shouldComponentUpdate的实现,不过其对props的比对是浅比较,
基本数据类型会判断其是否相等,引用数据类型会判断其对象地址是否变化,带来的问题就是,引用数据类型
内置的数据变化了,但是却没有更新或者是引用类型数据不变但是其地址变化了,触发不必要的更新。
为了解决这类问题,引入了Immutablejs,持久性数据的库,只要这个数据被创造出来,就不能被更改,更改的话就会返回一个新对象

React.memo 与 useMemo
memo是函数版的shouldComponentUpdate,第二个参数就是shouldComponentUpdate,在里面对比props,
不传入的时候就是类似PureComponent,进行浅比较
useMemo其实就是更细致话的memo,React.memo 控制是否需要重渲染一个组件,而 useMemo 控制的则是是否需要重复执行某一段逻辑


http://www.kler.cn/a/586226.html

相关文章:

  • 从联网到离线:Dify 的 Docker 镜像批量下载与全流程离线部署指南
  • 第27周JavaSpringboot电商进阶开发 3.常见问题解答
  • 04 | 初始化 fastgo 项目仓库
  • Spring Boot与Apache Ignite集成:构建高性能分布式缓存和计算平台
  • 大语言模型-1.2-大模型技术基础
  • 2025 职业革命:AI 重构就业图谱的生存法则
  • 【PyCharm2024】一些好用的小功能
  • [Java实战]性能优化qps从1万到3万
  • 分布式事务管理:使用Seata简化微服务事务处理
  • vue3 中使用 Recorder 实现录音并上传,并用Go语言调取讯飞识别录音(Go语言)
  • 【环境问题】Vscode上ssh无法连接问题汇总
  • 用Java来创建数字游戏
  • HedgeAgents:开启金融交易新纪元的平衡系统
  • 微信小程序面试内容整理-JavaScript
  • HarmonyOS NEXT - 电商App实例四(登录界面)
  • Qt:绘图API
  • 20250314-vue-Props3
  • Free QWQ - 世界首个免费无限制分布式 QwQ API
  • Milvus 中常见相似度度量方法
  • 考研复习,主动学习”与“被动接收”的结合之道