> For the complete documentation index, see [llms.txt](https://uby-rn.gitbook.io/react-native/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://uby-rn.gitbook.io/react-native/ders-3.0/state-yonetimi-and-redux-toolkit.md).

# State Yönetimi & Redux Toolkit

Bu bölümde global değişken tanımlamayı, neden global değişkenlere ihtiyaç duyduğumuzu ve bu değişkenlerin manipülasyonu üzerine konuşacağız. Öncelikler neden global verilere ihtiyaç duyduğumuzu anlamaya çalışalım.

## Neden global tanımlı değişkenlere ihtiyaç duyarız?

Bu oldukça önemli bir konudur. Bazen bir değişkenin içerisinde bulunan verinin içeriğine birden çok yerden erişmek ve bu veriyi birden fazla yerde değiştirebilmek isteriz.&#x20;

Örneğin: *Bir kullanıcı oturum durumunu depolamak gibi. Kullanıcı oturum bilgileri, genellikle kullanıcının oturum açıkken uygulama boyunca erişebilmesi gereken ve birden fazla bileşen veya sayfa tarafından kullanılabilen bir veri setidir. Oturum açıkken, bu bilgilere farklı bileşenlerden erişmek ve gerekirse güncellemek gerekebilir. Örneğin, kullanıcı bilgilerini görüntülemek veya oturumu kapatmak için kullanılabilecek bir kullanıcı paneli bileşeni düşünelim. Ayrıca, kullanıcı oturum bilgileri, belirli sayfalara erişim izni kontrolü için de kullanılabilir. Bu tür durumlarda, global olarak erişilebilir ve güncellenebilir bir değişken kullanmak, karmaşık yapıları engelleyerek kodun daha temiz ve yönetilebilir olmasını sağlar. Bu gibi durumlarda Redux, Redux Toolkit veya Context API gibi state yönetim araçları kullanılabilir.*

## Neden Redux Toolkit

Biz bu bölümde Redux Toolkit üzerinde duracağız. Çünkü Redux Toolkit, Redux'un kullanımını kolaylaştıran ve birçok yaygın kullanım senaryosunu ele alan bir kütüphanedir. Ve tercih edilmesinin bazı sebepleri şunlardır:

1. **Azaltılmış Kod**: Redux Toolkit, standart Redux'a göre daha az kod gerektirir. Özellikle, createAction, createReducer ve configureStore gibi hazır fonksiyonlarla Redux store'unu yapılandırmanızı sağlar. Bu sayede daha az tekrarlı ve daha az hata eğilimli kod yazabilirsiniz.
2. **İnce Ayar Gerektirmez**: Redux Toolkit, Redux için yaygın olarak kullanılan en iyi uygulamaları içerir ve birçok varsayılan ayarla birlikte gelir. Bu, uygulamanızın Redux store'unu yapılandırmak için ayrıntılı ayarlar yapmanız gerekmediği anlamına gelir. Bu, zaman kazandırır ve hataları önler.
3. [**Immutability**](/react-native/ders-1.0/giris-and-terimler.md#immutability-degismezlik) **ve** [**Serielleştirme**](/react-native/ders-1.0/giris-and-terimler.md#seriellestirme): Redux Toolkit, Immutability ve Serielleştirme gibi Redux için önemli kavramları otomatik olarak ele alır. Bu, state yönetimini daha güvenli ve tutarlı hale getirir.
