【react】最基础的性能优化方法

引言

从React组件的方向去做最基本的新能优化,组件允许我们将UI拆分为独立可复用的代码片段并对每个片段进行构思

一 、使用shouldComponentUpdate生命周期函数 来规避子组件冗余的render更新

react 组件会根据shouldComponentUpdate 的返回值来决定是否来进行组件的更新,默认值为true
每当数据更新的时候 父组件中的子组件都会无条件的re-render
我们利用shouldComponentUpdate 生命周期函数内第一个参数和当前值进行判断,如果一样返回false取消子组件的更新。

在这里插入图片描述

二、PureComponentUpdate +immutable.js的方法

为什么要用这个组合:
1.shouldComponentUpdate 的缺点是一个父组件中含有许多子组件,每个都写一遍就很麻烦。所以PureComponentUpdate 解决了这一问题。它是 react 15.3 新增的一个类,它会在组件更新前自动对shouldComponentUpdate 中的新旧数据进行浅比较,从而决定是否更新组件。
2.数据类型为引用类型,如果数据类型没变,但引用变了,那么浅比较仍然会发起一次不必要的更新
3.如果 数据类型变了但是引用没变,那么浅比较会省略一次更新,造成不渲染的问题。
因为浅比较不够精准,所以我们利用immutable”持久性数据“来弥补这一缺陷。

在这里插入图片描述

三、函数式组件中的React.memo和usememo

React.memo是函数版的Pure/shouldComponentUpdate

在这里插入图片描述

usememo :更精细化的控制某一段逻辑是否执行。


在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值