web前端全系列 教程
1839个小节阅读:2244.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
useCallback(fn, deps)
返回一个缓存函数。
第一个参数为函数,是需要被缓存的函数,第二个参数为依赖项数组。
它仅会在某个依赖项改变时才重新定义被缓存函数,(如果没有提供依赖项数组,useCallback
在每次渲染时都会重新定义函数)。
提示:
useCallback(fn, deps)
相当于useMemo(() => fn(), deps)
。
xxxxxxxxxx
import React, { useCallback, useEffect, useMemo, useState } from 'react'
export default function UseMemoTest() {
const [color, setColor] = useState('red')
const [num1, setNum1] = useState(0)
const [num2, setNum2] = useState(0)
// 缓存值
const num = useMemo(() => {
console.log('num1+num2')
return num1 + num2
}, [num1, num2])
// 缓存函数
const changeNum1 = useCallback(() => {
setNum1(num1 + 1)
}, [num1])
return (
<div>
<button onClick={changeNum1}>更改num1</button>
<button onClick={() => setNum2(num2 + 1)}>更改num2</button>
<button onClick={() => setColor('blue')}>更改color</button>
<h3>num1+num2={num}</h3>
</div>
)
}