useMemo ve useCallback'i her yerde kullanmak neden doğru değildir?
Cevap
Her iki hook da bir maliyetle gelir: her render'da bağımlılık dizisi karşılaştırılır, önceki değer bellekte tutulur ve kod okunması zorlaşır.
Faydalı olduğu durumlar:
- Gerçekten pahalı bir hesaplama (binlerce elemanlı liste sıralama, filtreleme)
React.memoile sarılmış bir çocuğa geçen nesne/fonksiyon prop'u- Başka bir hook'un bağımlılık dizisine giren değer (gereksiz effect tetiklenmesini önlemek)
Faydasız olduğu durumlar: basit hesaplamalar, memo'suz çocuklara geçen fonksiyonlar, zaten primitive olan değerler.
React 19 ile gelen React Compiler, bu memoizasyonu derleme sırasında otomatik yaparak elle useMemo / useCallback yazma ihtiyacını büyük ölçüde azaltır.
İ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.