FrontEnd Developer Road Map

React Tutorial 2023 31 – useState Hook’u 3 – Spread Operatörü İle State Kontrolü

Merhabalar.

Bir önceki yazımda birden fazla state kullanımını görmüştük.

Ancak yaptığımız işlemlerde her state’i tek tek tanımlamıştık. 100 tane takip edilecek state olsaydı, tek tek hepsini yazmak biraz bizi yorabilirdi. Kod tekrarı kodun bakımını ve okunurluğunu çok zorlaştırırdı.

Bunun için tek bir state objesi tanımlayıp içinde durumunu takip edeceğimiz değişkenleri tanımlasak ve sadece ilgili olanları güncellenmesini sağlasak çok iyi olurdu.

Bunu Calculator uygulamamızda yapacağız.

Kodlarımızı aşağıdaki gibi güncelleyelim.

State Değişkenlerini Tek Bir Obje İçinde Birleştir

Calculator.jsx’deki aşağıdaki kodları;

const [result, setResult] = useState(0);
const [count, setCount] = useState(0);

Aşağıdaki kodlarla değiştirelim.

const [allState, setAllState] = useState({
        result: 0,
        count: 0
    });

Böylece artık değişkenlerimizin durumlarını tek bir obje üzerinden takip edeceğiz.

Tabi bunu böyle güncelledikten sonra çağrıldıkları yerleri şöyle güncelleriz.

<div className="result">
     <h1 id="result">{allState.result}</h1>
     <span>İşlem Adeti: {allState.count}</span>
</div>

State’leri Güncelle

Sıra geldi bu state’in güncellenmesine.

Sadece result’ı güncellemek istediğimde şunu yaparız, objenin içindeki önceki değerleri aynen alırız. Bunu daha önce gördüğümüz spread kavramıyla yapıyoruz. Yani objenin kendisini alıp önüne …(üç nokta) koyduğumuzda gerçekleştirebiliyorduk. Daha sonra güncelleyeceğimiz değişkenin yeni değerini veriyoruz.

setAllState({
            ...allState,
            result: result
 })

Bir de aynısından count için yapalım.

setAllState({
            ...allState,
            count: allState.count + 1,
})

Bu şekilde statelerimizi güncellemiş olduk.

Tabii iki state aynı yerde ve artarda değiştirildiği için tek seferde bu işi çözebiliriz.

setAllState({
            ...allState,
            result: result,
            count: allState.count + 1,
})

Tekrar çıktımız kontrol ettiğimizde istediğimiz sonuçları hala alıyor olmalıyız.

Spread ile bu şekilde statelerimizi kolaylıkla güncelleyebiliriz.

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.

Share
Published by
Murat Bilginer

Recent Posts

Kedimiz Oly & FIP Süreci 9 – 1 Haftalık GS İğnesi Serüveni – Oly İyileşiyor mu?

Selamlar, bu yazımda Oly'nin 1 hafta boyunca olduğu GS iğnesi, yaşanan değişimleri anlatmaya çalışacağım. PCR…

2 gün ago

Kedimiz Oly & FIP Süreci 8 – Yeniden Hayvan Hastanesi – Sonuç Kontrolü ve Sonrası…

Selamlar, bu yazımda Hemogram ve Biyokimya sonuçlarımızı göstermek için İÜCHH'ne tekrar gidişimizi ve sonrasını anlatacağım.…

2 gün ago

Kedimiz Oly & FIP Süreci 7 – GS İğnesine Başlama Kararımız ve Oly’de Dikkat Ettiklerimiz

Selamlar, bu yazımda GS iğnesine başlama kararımızı ve Oly’de bu süreçte nelere dikkat ediyor, neler…

2 gün ago

Kedimiz Oly & FIP Süreci 6 – İstanbul Üniversitesi Cerrahpaşa Hayvan Hastanesi Serüveni ve Sonrası

Selamlar, bu yazımda İÜCHH'deki tedavi sürecimiz ve sonrasında yaşananlardan bahsetmeye çalışacağım. 20.06.2025 Cuma günü saat…

3 gün ago

Kedimiz Oly & FIP Süreci 5 – Teşhisten Önce Biz… Veterinerimize Güvenebilir Miydik?

Eve Dönüş ve İlk Şüpheler 18 Haziran Perşembe saat 23 sularında İstanbul’daki evimize giriş yaptık.…

4 gün ago

Kedimiz Oly & FIP Süreci 4 – Antalya’ya Yolculuk – Bir Şeyler Ters Gidiyor… & İstanbul’a Geri Dönüş

9 Haziran Pazartesi günü Aydın’daki sürecimiz bitti ve Antalya yolculuğumuz başladı. Saat 11 gibi yola…

4 gün ago