Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
useRef, Context ve Custom Hook'lar: DOM Erişimi, DI Yerine Context ve Hook Kuralları
useRef render tetiklemeyen bir kutudur (DOM node'u ya da timer id'si), Context ise bir değeri ağacın derinlerine props'suz taşır ve değişince onu okuyan her component'i render eder. Bookstore'da sepet, tema ve kullanıcıyı Context'e taşıyıp tema değişiminin 2 yerine 28 component render ettirdiği sürümü ölçüyor, inline ref callback'inin odak kaçırdığını, koşullu hook'un uygulamayı çökerttiğini ve aramayı custom hook'lara ayırmayı gösteriyoruz.
useEffect'i Doğru Kullanmak: Synchronization, Cleanup, Dependency Array ve "Effect'e İhtiyacın Olmayabilir"
useEffect bir lifecycle hook'u değil, component'i dış bir sistemle senkronize etme aracıdır: her setup'ın bir cleanup'ı olur, dependency array effect'in okuduğu reaktif değerlerin listesidir. Bookstore kataloğunu API aramasına bağlayıp debounce ve AbortController ile StrictMode'da bile tek istek gittiğini, cleanup'sız sürümde geciken yanıtın listeyi ezdiğini, effect ile türetilen sayının render'ı ikiye katladığını ve useEffectEvent'in gereksiz isteği önlediğini gösteriyoruz.