react深度理解更新流程

本文介绍了如何在React中利用shouldComponentUpdate生命周期方法减少不必要的DOM重渲染,以及如何通过memo高阶组件进一步提高性能,尤其是在处理函数式组件时。
摘要由CSDN通过智能技术生成

因为其中考虑考虑到render不可能每次数据一变就去生成新的dom树,所以分节点更新就出现了,解决方法是:

        使用react给我们提供的生命周期方法shouldComponentUpdate(SCU) 这个方法来调取render函数的,react在每个class上面都继承了这个方法,很大的优化了整个程序的流程。

        同时react也提出来高级组件memo,当使用memo组件的时候可以使用在props 没有变化时不重新渲染,提高性能

import React, { memo } from 'react';

// 普通的函数式组件
const MyComponent = ({ name }) => {
  console.log('Component render');
  return <div>Hello, {name}!</div>;
}

// 使用 memo 包裹函数式组件
const MemoizedComponent = memo(MyComponent);

// 父组件
const ParentComponent = () => {
  const [count, setCount] = React.useState(0);

  return (
    <div>
      <button onClick={() => setCount(count + 1)}>Increment</button>
      <MemoizedComponent name="Alice" />
    </div>
  );
}

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值