Middle+
Co je to useCallback, co dělá a kdy byste ho měli používat?
sobes.tech AI
Odpověď od AI
useCallback — je hook v Reactu, který vrací memoizovanou verzi funkce vytvořené uvnitř komponenty.
Co dělá:
- Ukládá funkci do cache mezi renderováními, pokud se závislosti nezměnily.
- Pomáhá vyhnout se vytváření nové funkce při každém renderu.
Kdy ho použít:
- Když je funkce předávána do podřízených komponent, které jsou optimalizovány pomocí
React.memoneboshouldComponentUpdate, aby se předešlo zbytečnému překreslování. - Když je funkce používána v závislostech jiných hooků, například
useEffect, aby se nevytvářel efekt bez potřeby.
Příklad:
import React, { useState, useCallback } from 'react';
function Counter() {
const [count, setCount] = useState(0);
const increment = useCallback(() => {
setCount(c => c + 1);
}, []); // funkce se nemění mezi renderováními
return <button onClick={increment}>Count: {count}</button>;
}
Bez useCallback by se funkce increment znovu vytvářela při každém renderu, což by mohlo vést k zbytečným aktualizacím podřízených komponent.