Redux, Zustand ve TanStack Query arasındaki farklar nelerdir? Hangisini ne zaman seçersiniz?
Cevap
Önce iki tür state'i ayırmak gerekir:
- İstemci state'i: modal açık mı, seçili sekme, sepet, tema
- Sunucu state'i: API'den gelen veri; önbelleğe alma, yeniden çekme, bayatlama gibi ihtiyaçları vardır
| Araç | Odak | Ne zaman |
|---|---|---|
| Redux Toolkit | Merkezi, öngörülebilir istemci state'i, güçlü devtools | Büyük ekipler, karmaşık iş kuralları, zaman yolculuğu ile hata ayıklama |
| Zustand | Minimal, hook tabanlı global store, seçici abonelik | Orta boy uygulamalarda basit global state |
| TanStack Query | Sunucu state'i: cache, yeniden deneme, arka planda yenileme, sayfalama | API verisi olan hemen her uygulama |
Yaygın modern kombinasyon: sunucu verisi için TanStack Query + az miktardaki istemci state'i için Zustand veya Context. API verisini Redux'ta elle tutmak gereksiz kod üretir.
İ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.