React uygulamasında API'den veri çekerken dikkat edilmesi gerekenler nelerdir?
Cevap
Bir veri çekme işleminin ele alması gereken durumlar:
- Yükleniyor, hata ve boş durumlarının her biri için arayüz
- Yarış durumu (race condition): kullanıcı hızlıca filtre değiştirirse geç dönen eski cevap yenisinin üzerine yazmamalı →
AbortControllerile iptal - Önbellek: aynı veriyi her bileşen ayrı ayrı çekmemeli
- Yeniden deneme ve bayat verinin arka planda yenilenmesi
- Bileşen kaldırıldıktan sonra state güncellenmemeli
- Waterfall'dan kaçınmak: bağımsız istekler paralel atılmalı
Bunları elle yazmak zor olduğundan gerçek projelerde TanStack Query veya SWR kullanılır:
const { data, isLoading, error } = useQuery({
queryKey: ["urunler", kategori],
queryFn: () => fetch(`/api/urunler?k=${kategori}`).then(r => r.json()),
staleTime: 60_000,
});Next.js App Router'da veri çekmenin önerilen yeri ise sunucu bileşenleridir.
İ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.