web前端全系列 教程
1839个小节阅读:2243.6k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
useMemo(fn, deps)
返回一个缓存值。
第一个参数为函数,用来返回需要缓存的值,第二个参数为依赖项数组。
它仅会在某个依赖项改变时才重新调用函数进行计算,改变缓存值的状态(如果没有提供依赖项数组,useMemo
在每次渲染时都会计算新的值)。这种优化有助于避免在每次渲染时都进行高开销的计算。
提示:
useMemo跟useEfect区别
useMemo用于去缓存数据,诸如副作用这类的操作属于
useEffect
的适用范畴,而不是useMemo
xxxxxxxxxx
//UseMemoTest.js
import React, { useState, useMemo, useCallback } from 'react';
export default function UseMemoTest() {
const [color, setColor] = useState()
const [num1, setNum1] = useState(0)
const [num2, setNum2] = useState(0);
const num = useMemo(
//当依赖项中的num1或者num2发生变化时,重新执行该函数,不受其他state改变的影响
() => {
return num1+num2
}
,
[num1,num2]);
return (
<div>
<button onClick={() => setNum1(num1 + 1)}>num1 +</button>
<button onClick={() => setNum2(num2 + 1)}>num2 +</button>
<h3>num1+num2={num}</h3>
<button style={{ color }} onClick={() => setColor('red')}>改变颜色</button>
</div>
);
}
实时效果反馈
1. 下面说法错误的是:
A useMemo
可以优化性能
B useMemo
依赖项发生变化是执行重新计算
C useEffect
可以替代useMemo
答案
1=>C