Önemli: Diğer yazılarımla direkt bağlantılı bir yazıdır. İlk olarak bu yazıdan okumaya başladıysanız, eğitim serisine kısaca bir göz atmanızı tavsiye ederim.
Merhabalar.
Bu yazımızda useState ve useRef Hooklarının kullanımıyla doğan kavramlarımızdan biri olan Controlled ve Uncontrolled Componentler kavramlarına bakacağız.
React’ta, form verilerini işlemek için iki yöntem bulunmaktadır: kontrol edilen (controlled) ve kontrolsuz (uncontrolled) bileşenler. Bu iki yöntem arasındaki farklılıkları anlamak, hangi yöntemin projeniz için daha uygun olduğunu belirlemek için önemlidir.
Kontrol Edilen Bileşenler (Controlled Components)
Kontrol edilen bileşenlerde, form verilerinin durumu, bileşenin içindeki state ile yönetilir. Örneğin, bir giriş alanının değeri, bu giriş alanının onChange
olayına bağlı olarak, bileşenin state’ini güncelleyen bir fonksiyon tarafından kontrol edilir. Bu durum, bileşenin durumunun “tek kaynak doğruluğu” olarak kabul edilir. Kontrol edilen bileşenler, form verilerini etkili bir şekilde doğrulamanızı sağlar. Ancak, daha fazla kontrol edilen elemanı form öğesine eklediğinizde, bir bileşendeki state sayısı artar
Kontrolsüz Bileşenler (Uncontrolled Components)
Kontrolsüz bileşenlerde, form verilerinin durumu, DOM tarafından yönetilir. Bu durumda, form öğesinin değerini kontrol etmek için React state’ini kullanmak yerine, React’ın ref
özelliğini kullanabiliriz. ref
, DOM öğesine bir referans sağlar ve bu referansı kullanarak form öğesinin değerini alabiliriz.
Kontrol Edilen vs Kontrolsüz Bileşenler
Kontrol edilen bileşenler, form öğelerinin durumunu kontrol etmek için daha fazla kontrol sağlar. Ancak, daha fazla state eklenmesi durumunda bileşenler karmaşıklaşabilir. Kontrolsüz bileşenler ise, daha basit veya izlenebilir olmayan durumlar için kullanılır. Kontrolsüz bileşenler, form öğelerinin değerlerini doğrudan DOM’dan alır ve bu değerleri kontrol etmek için React state’ini kullanmazlar.
Sonuç olarak, hangi bileşen tipini kullanacağınız, projenizin gereksinimlerine ve kişisel tercihlerinize bağlıdır. Kontrol edilen bileşenler, veri kontrolünü daha fazla kontrol etmenizi sağlarken, kontrolsüz bileşenler, daha basit veya izlenebilir olmayan durumlar için daha uygundur.
Bu yazımız bu kadardı. Bir sonraki yazıda görüşmek üzere.