缓存回调函数
使用场景
- 函数组件内声明一个函数A,UI组件使用函数A作为事件处理函数
- 每次函数组件重新执行,都会重新声明A,进一步导致UI组件重新渲染,但是很有可能没必要重新渲染
所以使用useCallback缓存函数声明:只有当函数A的依赖项B变化的时候,才重新声明函数A
const Count = () => {
const [count, setCount] = useState(0)
const handleIncrement = useCallback(()=>{
setCount(count + 1)
}, [count])
return <button onClick={handleIncrement}>+</button>
}