Custom hook nedir? Bir örnek yazın.
Cevap
Custom hook, adı use ile başlayan ve içinde başka hook'lar kullanan bir fonksiyondur. Bileşenler arasında durumlu mantığı (stateful logic) paylaşmanın yoludur; state'in kendisi paylaşılmaz, her kullanımda ayrı kopya oluşur.
function useFetch(url) {
const [veri, setVeri] = useState(null);
const [hata, setHata] = useState(null);
const [yukleniyor, setYukleniyor] = useState(true);
useEffect(() => {
const kontrol = new AbortController();
setYukleniyor(true);
fetch(url, { signal: kontrol.signal })
.then(r => { if (!r.ok) throw new Error(r.statusText); return r.json(); })
.then(setVeri)
.catch(e => { if (e.name !== "AbortError") setHata(e); })
.finally(() => setYukleniyor(false));
return () => kontrol.abort(); // url değişirse eski isteği iptal et
}, [url]);
return { veri, hata, yukleniyor };
}İlgili React soruları
- Virtual DOM nedir ve reconciliation nasıl çalışır?
- Listelerde key prop neden önemlidir? Index kullanmak neden sorunludur?
- Controlled ve uncontrolled component farkı nedir?
- useEffect bağımlılık dizisi nasıl çalışır?
- useMemo ile useCallback arasındaki fark nedir?
- Gereksiz render'ları nasıl tespit eder ve önlersiniz?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.