Onur Oduncu
Ana SayfaHakkımdaProjelerBlogTeknolojilerİletişim
Onur Oduncu

Uzun ömürlü sistemler tasarlayan ve bilgisini paylaşan bir teknoloji portfolyosu.

© 2026 Onur Oduncu. Tüm hakları saklıdır.

Blog'a Dön

React 19'da useEffect'i Ne Zaman Kullanmamalısınız

React 19 ve derleyici optimizasyonlarıyla birlikte useEffect artık son çare olmalı. Yaygın yanlış kullanımları ve doğru alternatifleri inceliyorum.

14 Temmuz 20260 görüntülenme1 dk okuma
~/blog/react-19-useeffect-ne-zaman-kullanilmamali

React 19'da useEffect'i Ne Zaman Kullanmamalısınız

useEffect, React'te en çok yanlış kullanılan hook'lardan biri. React 19 ile gelen derleyici iyileştirmeleri ve yeni pattern'ler sayesinde, birçok senaryoda useEffect'e artık ihtiyaç kalmıyor.

Türetilmiş State İçin useEffect Kullanmayın

Bir state'i başka bir state'ten hesaplıyorsanız, bunu render sırasında doğrudan yapabilirsiniz. useEffect içinde setState çağırmak, gereksiz bir render döngüsüne ve gecikmeye yol açar.

Veri Çekme İçin Doğrudan useEffect Yerine

Veri çekme işlemlerinde useEffect yerine sunucu bileşenleri, React Query gibi kütüphaneler veya Suspense tabanlı veri kaynakları kullanmak; loading/error state yönetimini elle yazmak zorunda kalmadan çok daha sağlam bir çözüm sunuyor.

Olay Tabanlı Mantık İçin Event Handler'lar

Bir kullanıcı etkileşimine tepki olarak bir şey yapmanız gerekiyorsa, bu mantık useEffect içinde değil, doğrudan event handler içinde yer almalı. useEffect, "bu bileşen DOM'a bağlandığında" gibi senkronizasyon senaryoları için var, iş mantığı için değil.

useEffect'in Gerçekten Gerekli Olduğu Yerler

  • Üçüncü parti kütüphanelerle senkronizasyon (harita kütüphaneleri, chart.js gibi)
  • Subscription kurulumu ve temizliği
  • Tarayıcı API'leri ile senkronizasyon (document.title, event listener'lar)

Sonuç

useEffect'i "bir şey değiştiğinde çalışsın" mantığıyla değil, "harici bir sistemle senkronize olmam gerekiyor" mantığıyla kullanmak, kodunuzu hem daha okunabilir hem de daha az hataya açık hale getirir.