useCallback是 React 提供的一个性能优化 Hook,用于缓存函数引用。当依赖数组中的值没有发生变化时,多次组件 render 会返回同一个函数引用;当依赖发生变化时,才会返回新的函数。它最常见的使用场景是和 React.memo 配合,避免父组件重新渲染时,因为函数引用变化导致子组件不必要的重新渲染。另外,当一个函数作为 useEffect 等 Hook 的 dependency 时,也可以使用 useCallback 保持函数引用稳定。使用时最重要的是正确维护 dependency array,避免 stale closure。并且不能滥用 useCallback,因为它本身也是一种性能优化机制,不是所有函数都需要缓存。