useCallback是React的一個(gè)hook,用于優(yōu)化性能。它的作用是緩存一個(gè)函數(shù),確保在組件重新渲染時(shí),不會(huì)創(chuàng)建新的函數(shù)實(shí)例。
useCallback接受兩個(gè)參數(shù):回調(diào)函數(shù)和一個(gè)依賴數(shù)組。當(dāng)依賴數(shù)組中的依賴項(xiàng)發(fā)生變化時(shí),才會(huì)重新創(chuàng)建回調(diào)函數(shù)。如果依賴數(shù)組為空,則回調(diào)函數(shù)只會(huì)在組件首次渲染時(shí)創(chuàng)建一次。
使用useCallback的場(chǎng)景包括:
示例代碼:
import React, { useCallback } from 'react';
const MyComponent = () => {
const handleClick = useCallback(() => {
console.log('Button clicked');
}, []);
return (
<button onClick={handleClick}>Click me</button>
);
};
在上面的例子中,handleClick函數(shù)只會(huì)在組件首次渲染時(shí)創(chuàng)建一次,不會(huì)因?yàn)榻M件重新渲染而創(chuàng)建新的實(shí)例。