type
status
date
slug
summary
tags
category
icon
password
详解 React 的 useCallback 和 useMemo
在 React 开发中,useCallback 和 useMemo 是两个非常重要的性能优化 Hook。它们经常被用于避免不必要的渲染和函数重建。
一、useCallback:缓存函数引用
✅ 作用:避免子组件因为函数变化而重新渲染
示例:
这个函数在组件多次渲染时,只要依赖项
[] 没变,它的引用就是稳定的。搭配 React.memo 使用效果更佳:
✅ 如果不使用
useCallback,每次 Parent 重新渲染都会重新创建 handleClick,导致 Child 重新渲染。二、useMemo:缓存计算结果
✅ 作用:避免不必要的重复计算
示例:
每次渲染时,只有当
count 发生变化,才会重新计算。三、useCallback vs useMemo 的区别
用法 | 作用 | 返回值类型 |
useCallback(fn, deps) | 缓存函数 | 函数 |
useMemo(() => fn, deps) | 缓存任意值(也可以是函数) | 任意类型 |
其实:
只不过语义上
useCallback 表示“我缓存的是一个函数”,更具可读性。四、总结:
场景 | 是否适合使用 |
子组件使用 React.memo + props 传函数 | ✅ useCallback |
重计算代价高的表达式或函数 | ✅ useMemo |
简单计算或函数定义 | ❌ 不需要 |
- 作者:wdkang
- 链接:https://blog.wdkang.com/article/react-usememo
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。





.png?table=block&id=1ee896c5-9558-8082-9649-e66950102aad&t=1ee896c5-9558-8082-9649-e66950102aad)




