说说你对useMemo 的理解?

说说你对useMemo 的理解?

理解

useMemo是用来缓存计算属性的,可以帮助我们优化性能,useMemo不是用的越多越好,因为缓存,需要成本!

使用场景

  1. 当我们的某一个计算属性真的需要大量的计算时候
    //Com组件
    const Com = () => {
        
        //这种就是完全没必要被useMemo缓存的,计算过程一共也就一个创建变量,一个加一,缓存它反而亏本
         const computedFun1 = () => {
            let number = 0;
            number = numebr +1;
            return number;
        }
    
        //这个就需要缓存一下了,毕竟他每次计算的计算量还是蛮大的。
        const computedFun2 = () => {
            let number =  0;
            for(let i=0;i<100000;++i){
                number = number +i-(number-i*1.1);
            }
            return number;
        }
        
        return <div onClick = {handleFun1}>
            computed1:{computedFun1()}  //这个计算量小,是不需要使用useMemo缓存的,缓存它反而亏本
            computed2:{computedFun2()} //这个计算量大,需要缓存。
        </div>
    }
    
  2. 当子组件依赖父组件的某一个依赖计算属性并且子组件使用了React.memo进行优化了的时候。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值