React · Senior · Pytanie 17 z 75

Co robi ten hook?

const useHandler = (f) => {
  const ref = useRef(f);
  ref.current = f;
  return useCallback((...args) => ref.current(...args), []);
};

Wyjaśnienie

Referencja do callbacku jest stabilna (wygodne dla dzieci z memo i zależności efektów), ale w środku zawsze widzi świeże propsy i stan. Uwaga: zapis ref.current podczas renderu formalnie łamie czystość renderu; React proponuje do tego zadania useEffectEvent, a w efektach ref aktualizuje się w useLayoutEffect.

Do poczytania

Błąd w pytaniu

React · Senior · pytanie 17

Sprawdź się

Rozwiąż test React · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test