DEV Community

Cover image for useState ile Durum Güncelleme Yöntemleri
Sonay Kara
Sonay Kara

Posted on

useState ile Durum Güncelleme Yöntemleri

React, dinamik ve etkileşimli kullanıcı arayüzleri geliştirmek için en popüler JavaScript kütüphanelerinden biridir. Uygulama geliştirirken durum yönetimi (state management), performans ve kullanıcı deneyimi açısından kritik bir öneme sahiptir. Bu bağlamda, useState hook’u, bileşenlerinizin durumunu yönetmenin en yaygın yollarından biridir. Bu makalede, useState ile durum güncelleme yöntemlerini derinlemesine inceleyeceğiz.

Durum Güncelleme Yöntemleri

1. Doğrudan Durum Güncellemesi

Durumu doğrudan güncelliyorsanız, güncelleyici fonksiyonunu şu şekilde çağırabilirsiniz:

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

setCount(count + 1);
Enter fullscreen mode Exit fullscreen mode

Bu yaklaşım, durumu güncellemenin en basit yoludur. Ancak, bu yöntem bazı sorunlara yol açabilir. Örneğin, eğer güncellemeler asenkron bir şekilde gerçekleşirse, önceki durum değerine erişim hataları oluşabilir.

2. Fonksiyonel Durum Güncellemesi

Yeni durum, önceki duruma bağlıysa, olası sorunlardan kaçınmak için fonksiyonel formu kullanmalısınız:

setCount(prevCount => prevCount + 1);
Enter fullscreen mode Exit fullscreen mode

Bu yaklaşım, prevCount değişkenini kullanarak her zaman en güncel durumu almanızı sağlar. Böylece, özellikle bileşen çok sayıda güncelleme alıyorsa oluşabilecek sorunları önlemiş olursunuz.

3. Diziler ve Nesneleri Yönetme

useState, diziler ve nesneler gibi daha karmaşık veri türlerini yönetmek için de kullanılabilir.

const [items, setItems] = useState([]);

const addItem = (item) => {
    setItems(prevItems => [...prevItems, item]);
};
Enter fullscreen mode Exit fullscreen mode

Bu örnekte, mevcut dizi öğelerine yeni bir öğe ekliyoruz. setItems , önceki öğeleri korurken yeni öğeyi eklemek için spread operatörünü
kullanır. Böylece, dizi içinde mevcut verileri kaybetmemiş olursunuz.

Nesneleri yönetmek de oldukça kolaydır.

const [user, setUser] = useState({ name: '', age: 0 });

const updateUserName = (newName) => {
    setUser(prevUser => ({
        ...prevUser,
        name: newName
    }));
};
Enter fullscreen mode Exit fullscreen mode

Bu kod parçasında, user nesnesinin name özelliğini güncelleyerek mevcut özellikleri koruyoruz. …prevUser kullanarak, mevcut nesnenin diğer özelliklerini kaybetmeden yalnızca name özelliğini değiştirmiş oluyoruz.

Sonuç

useState hook’u, React uygulamalarında durumu yönetmek için vazgeçilmez bir araçtır. Durum güncelleme yöntemlerini anlayarak, uygulamalarınızı daha etkili ve kullanıcı dostu hale getirebilirsiniz. Bu bilgileri kullanarak daha dinamik ve etkileşimli uygulamalar geliştirebilirsiniz.

Eğer bu makale ile ilgili sorularınız varsa veya useState ile ilgili deneyimlerinizi paylaşmak isterseniz, lütfen aşağıda bir yorum bırakın!

Top comments (0)