Sobes.tech
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.memo nebo shouldComponentUpdate, 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.