Merhabalar.

Bu yazımla beraber React’in Temellerini anlamak için çıktığımız yolun sonuna geliyoruz. Buradan sonra ihtiyacımız olan ortamları kuracağız. Yavaştan kodlamaya başlayacağız.

Bu yazımda ise State kavramından bahsedeceğim. Bu konu anlatımında bazı React kodları yazılmıştır. Burada kodları anlamamanız çok normal, buna takılmayın lütfen. Önemli olan State kavramını anlamaya ya da aşina olmaya çalışmak. Çünkü kodlamaya başladığımızda sıklıkla bu konuyu tekrarlıyor olacağız.

State Nedir?

React geliştirme ortamında, dinamik değerleri tutmak için genellikle “State” adı verilen bir objeyi kullanırız. Bu obje, uygulamadaki dinamik değerleri içinde barındırır ve ekranda göstermek istediğimiz zaman bu state’ten çekeriz.

Örneğin, bir sayfa üzerinde gösterilen sayısal bir değeri düşünelim. Klasik bir yöntem olarak, jQuery, ASP.NET veya PHP gibi teknolojilerle bu değeri güncellemek istediğimizde, global bir değişken tanımlar ve her güncelleme sonrasında bu değişkeni sayfanın ilgili alanına atama yaparız.

var counter = 11; $('#myDiv').innerText = counter; // ve başka bir yerde tekrar newCounter = 12; $('#myDiv').innerText = newCounter;

Ancak, bu tür yöntemler karmaşık uygulamalarda acı verici olabilir. Özellikle aynı değeri birden fazla yerde gösteriyorsak, her güncelleme sonrasında tekrar tekrar atama yapmak zorunda kalırız.

React İle State

React ile ise durum biraz daha farklıdır. Değişkenimizi “State” içinde tutarız ve bu değişken değiştiğinde React otomatik olarak eski değeri atar ve yeni değeri ekranda gösterir. Üstelik, bu değişiklik tüm kullanıldığı yerlerde geçerli olur.

Örnek olarak bir Counter uygulaması düşünelim:

// State içine counter nesnesini oluştur. 
const [counter, setCounter] = useState(0); 
// Butona tıklandığında counter'ı güncelle. 
const handleIncrement = () => { setCounter(counter + 1); };

React ile bu şekilde, değişkenimizi state içinde tutarız ve güncelleme ihtiyacı olduğunda sadece setCounter fonksiyonunu çağırarak React’e işi bırakırız. Bu sayede hem daha temiz, hem de hata yapma olasılığını azaltmış oluruz.

React ile gelen useState‘i, proje değişkenlerini her yerden erişilebilsin diye belirlenmiş bir değişken kovası gibi düşünebilirsiniz. Bu, state içine uygulama içinde kullanılacak değişkenleri belirttiğimiz bir yapıdır. Örneğin, burada counter diye bir değişkeni state içinde tanımlıyoruz. setCounter ise bu değişkenin değerini değiştiren bir fonksiyondur. Bu fonksiyonu çağırdığımızda, bu state kovası içinde bulunan counter değeri, hangi yöntemle değiştirebileceğimiz belirlenmişse o şekilde değişir. Böylece uygulama içinde bu state’e bakan ve counter değerini çağıran her yer aynı değerle güncellenmiş olur.

State’ler böyleydi. Bu konuyu ayrıca örnek kullanımlarıyla ve detaylarıyla ele alıyor olacağız.

Bir sonraki yazımda görüşmek üzere.


Murat Bilginer
21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.