NOT DEFTERİ · YAZILIM & TASARIM
React'te useEffect Hatası Neden Olur ve Nasıl Çözülür?
Bu yazımda birçok Junior Geliştiricinin baş belası olan sonsuz döngü (infinite loop) rendering problemine detaylı bir bakış atıyorum...
useEffect Neden Sonsuz Döngüye Girer?
Sonsuz döngü genellikle bağımlılık (dependency) dizisinin yanlış kullanımından kaynaklanır. Eğer useEffect içerisinde state güncelliyorsanız ve bu state bağımlılık dizisinde yer alıyorsa, component sürekli yeniden render edilecektir.
// Hatalı Kullanım
useEffect(() => {
setSayac(sayac + 1);
}, [sayac]); // Her state değişiminde tekrar tetiklenir!
Çözümü Nedir?
State güncellemesini bir callback fonksiyonu ile yaparak güncel değeri referans alabilirsiniz veya bağımlılık dizisini doğru optimize edebilirsiniz. Profesyonel geliştirmede performans çok önemlidir.