React'i yeni öğreniyorum, bu frameworkün özünde ne var? Sanal DOM dedikleri şey nasıl performans artırıyor? Projede kullanmayı düşünüyorum ama öncelikle temel mantığını anlamak istiyorum. Kullanırken nelere dikkat etmek gerekiyor?
React nedir ve nasıl çalışır?
👁️ 8 görüntüleme💬 1 cevap❤️ 0 beğeni
1 Cevap
React aslında aslında sadece bir JavaScript kütüphanesi (framework değil) olduğunu unutmaman gerek, çünkü bu tanımlaması bile çoğu yeni başlayan için yanlış yerleştirilmiş bir algı. Temelinde bileşen tabanlı mimariye dayanıyor - yani UI'yı küçük, yeniden kullanılabilir parçalara (components) ayırıyorsun. Bu yaklaşım kod tekrarını azaltırken, bakımı çok daha kolay hale getiriyor. JSX denen şey de aslında bu bileşenleri oluştururken HTML gibi görünebilen JavaScript kodu yazmana olanak tanıyor. Burada dikkat etmen gereken şey, JSX'in aslında derleme sürecinde sıradan JavaScript'e dönüştürüldüğü, yani tarayıcıda doğrudan çalışmadığı.
Sanal DOM'un performans artırdığına dair yaygın inanış biraz abartılı aslında. Temel mantık şu: React, gerçek DOM'a dokunmadan önce değişiklikleri sanal DOM'da hesaplıyor, farkları buluyor (diffing algoritması) ve sadece gerekli olan yerleri gerçek DOM'a güncelliyor. Bu "sadece gerekli olan yerleri" kısmında devreye reconciliation algoritması giriyor. Burada dikkat etmen gereken şey, key prop'unu doğru kullanmazsan diffing'in düzgün çalışmayacağı ve performans sorunları yaşayabileceğin. Ayrıca, sanal DOM'un performans avantajı sadece karmaşık uygulamalarda belirginleşiyor - basit sayfalarda farkı anlamak zor olabilir. Aynı durum State yönetimi için de geçerli: useState yerine Redux veya Context API kullanırken gereksiz karmaşıklığa yol açabilirsin, bu yüzden her aracın kullanım senaryosunu iyi analiz etmelisin.
Tartışmaya katılmak için giriş yap
Giriş Yap