Günlük işlerde kullanılan React hook'ları, işlevlerine göre gruplandırılmış: durum tutma, effect çalıştırma, hesaplama önbelleğe alma, context paylaşma ve render dışına erişme. Her satır, hook'u ne için kullanılacağıyla eşleştirir.
Hook, bir fonksiyon bileşeninin React özelliklerine — durum, yaşam döngüsü, context ve performans ayarı — erişmesini sağlayan fonksiyondur. İki kural vardır: hook'ları en üst düzeyde çağırın (asla döngülerin veya koşulların içinde değil) ve yalnızca React fonksiyonlarından çağırın. Gerisi, işe uygun doğru hook'u seçmektir.
Referans tablosu · 24 kayıt
React HooksExplained
24 of 24 rows
Durum
Değiştiğinde yeniden render tetikleyen tek bir değer tutar.
Bileşene özgü yerel durum: form alanları, aç/kapat anahtarları, sayaçlar.
Bir action reducer tarafından yönlendirilen durumu tutar; küçük bir store gibidir.
Birbiriyle ilişkili birçok alanı veya karmaşık geçişleri olan durum.
Yeniden render tetiklemeyen, değiştirilebilir bir değer tutar.
Değiştirilebilir kapsayıcılar, zamanlayıcılar ve .current üzerinden doğrudan DOM erişimi.
Effect'ler
Render'dan sonra, isteğe bağlı bir temizleme fonksiyonuyla birlikte bir yan etki çalıştırır.
Veri çekme, abonelikler ve harici bir sistemle eşitleme.
Bir effect'in döndürdüğü fonksiyon, bir sonraki effect'ten önce ve unmount sırasında tekrar çalışır.
Abonelikleri ve zamanlayıcıları kapatmak ya da devam eden bir fetch'i iptal etmek.
useEffect gibidir, ancak DOM değişikliğinden sonra senkron olarak tetiklenir.
Tarayıcı boyamadan önce düzeni okumak veya yazmak (toast'lar, tooltip'ler).
Olay işleyicileri bir kullanıcı eylemine yanıt olarak çalışır; effect'ler ise eşitlemek için render'dan sonra çalışır.
Kullanıcı kaynaklı mantık işleyicide, render kaynaklı mantık effect içinde yer alır.
Geliştirme ortamında bileşenleri iki kez mount eder; böylece effect'ler çalışır, temizlenir ve yeniden çalışır.
Çift abonelikleri ve eksik temizlemeyi üretime geçmeden önce yakalamak.
Performans
Bağımlılıkları değişene kadar hesaplanmış bir değeri önbelleğe alır.
Render'lar arasında pahalı yeniden hesaplamalardan kaçınma; önbelleği bozmak için bağımlılıklardaki bir değeri bilinçli olarak değiştirin.
Bağımlılıkları değişene kadar bir fonksiyon referansını önbelleğe alır.
Memo'lanmış alt bileşenlere geçirilen veya bağımlılık olarak kullanılan kararlı callback'ler.
Prop'ları değişmeyen bir bileşenin yeniden render edilmesini atlar.
Ağır alt bileşenler; sığ eşitlik yeterli olmadığında ikinci argüman olarak bir karşılaştırma fonksiyonu geçirin (bir hook değil, HOC'dir).
Context ve dış tutamaçlar
Prop drilling'e gerek kalmadan bir context değerini okur.
Ağaç genelinde paylaşılan tema, yerel ayar veya kimliği doğrulanmış kullanıcı.
Bir ebeveynin ref üzerinden gördüğü örneği özelleştirir.
forwardRef ile bir alt bileşenden dar kapsamlı bir API açığa çıkarmak.
Eşzamanlılık ve diğerleri
Bir durum güncellemesini acil olmayan olarak işaretler; böylece arayüz duyarlı kalır.
Ağır bir liste yeniden render edilirken girdinin akıcı kalmasını sağlamak.
Bir değeri erteler; böylece güncellemeler kesilebilir hâle gelir.