useCallback是React的一个hook,用于优化性能。它的作用是缓存一个函数,确保在组件重新渲染时,不会创建新的函数实例。
useCallback接受两个参数:回调函数和一个依赖数组。当依赖数组中的依赖项发生变化时,才会重新创建回调函数。如果依赖数组为空,则回调函数只会在组件首次渲染时创建一次。
使用useCallback的场景包括:
示例代码:
import React, { useCallback } from 'react';
const MyComponent = () => {
const handleClick = useCallback(() => {
console.log('Button clicked');
}, []);
return (
<button onClick={handleClick}>Click me</button>
);
};
在上面的例子中,handleClick函数只会在组件首次渲染时创建一次,不会因为组件重新渲染而创建新的实例。