useRef ne işe yarar? useState'ten farkı nedir?

Cevap

useRef, render'lar arasında korunan, değiştirildiğinde yeniden render tetiklemeyen bir kutu ({ current }) döndürür.

Kullanım alanları:

  • DOM elemanına erişmek (focus, ölçüm, scroll)
  • Render'ı etkilemeyen değerleri saklamak: timer id, önceki değer, abonelik
  • Stale closure sorunlarında en güncel değere erişmek
function AramaKutusu() {
  const inputRef = useRef(null);
  const timerRef = useRef();

  useEffect(() => inputRef.current.focus(), []);

  const yazildi = (e) => {
    clearTimeout(timerRef.current);
    timerRef.current = setTimeout(() => ara(e.target.value), 300);
  };
  return <input ref={inputRef} onChange={yazildi} />;
}

Kural: ekranda gösterilen değer state, gösterilmeyen yardımcı değer ref'tir.

  1. Virtual DOM nedir ve reconciliation nasıl çalışır?KolayReactFrontend
  2. Listelerde key prop neden önemlidir? Index kullanmak neden sorunludur?KolayReactFrontend
  3. Controlled ve uncontrolled component farkı nedir?KolayReactFrontend
  4. useEffect bağımlılık dizisi nasıl çalışır?OrtaReactFrontend
  5. useMemo ile useCallback arasındaki fark nedir?OrtaReactFrontend
  6. Gereksiz render'ları nasıl tespit eder ve önlersiniz?ZorReactFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle