美文网首页
useMemo用法

useMemo用法

作者: 金药 | 来源:发表于2022-04-13 16:24 被阅读0次

1.未使用useMemo组件的state更新后,计算的一些数据也会重新经常计算
例子:页面一个根据count计算显示的总数,另外一个功能是切换页面主题,当页面切换主题改变state的时候,总数会去重新计算,造成页面卡顿

  const [colors, setColors] = useState(true);
  const [count, setCount] = useState(1);

  const clickFn = () => {
    let sum = 0;
    for (let i = 0; i < 1000000000*count; i++) {
      sum += i;
    }
    return sum;
  };

      <div>获得总数{clickFn()}</div>
      <div onClick={() => { setCount(count+1);}}>改变count</div>
      <div onClick={() => { setColors(!colors);}}>点我换主题{colors == true ? 'red': 'black'}</div>

2.使用useMemo,当依赖的count发生改变才去重新计算,return值出来,这时候切换主题页面就不卡顿了

  const clickFn = useMemo(() => {
    let sum = 0;
    for (let i = 0; i < 100000000*count; i++) {
      sum += i;
    }
    return sum;
  },[count]);

    <div>获得总数{clickFn}</div>

3.注意usememo 是return一个值出来,和useEffect不一样

相关文章

  • useMemo

    1. useMemo的使用 useMemo和useEffect 的使用基本上一样 useMemo的好处 对子组件进...

  • useMemo

    下面我们通过一个实例,来理解下 useMemo的用法。 父组件 子组件 熟悉react的同学可以很显然的看出,当我...

  • useMemo 和 useCallback —— React H

    useMemo 一、作用 useMemo 和 memo 作用相同,都是用来做性能优化的,不会影响业务逻辑。 mem...

  • useMemo和useCallback

    参考文章:链接 useMemo useCallback

  • 【web前端】useCallback 和 useMemo 的用法

    useCallback 使用useCallback可以避免组件重复渲染,提升性能,以下是一个使用useCallba...

  • useMemo和useCallback的使用

    useMemo 把“创建”函数和依赖项数组作为参数传入 useMemo,它仅会在某个依赖项改变时才重新计算 mem...

  • useMemo和useCallback的使用

    useMemo 把“创建”函数和依赖项数组作为参数传入 useMemo,它仅会在某个依赖项改变时才重新计算 mem...

  • useMemo

    来源 memo,PureComponent,shouldComponentUpdate 1 .以下例子 react...

  • useMemo

  • useMemo

    React 有一个特点,那就是当父组件重新 render 的时候,无论传入子组件的 props 有没有变化,子组件...

网友评论

      本文标题:useMemo用法

      本文链接:https://www.haomeiwen.com/subject/tuvtertx.html