Redux Toolkit
Last updated
Last updated
Herkese selam! Bugün sizlere bu yazımızda Redux Toolkit'in ne olduğunu ve ne için kullanıldığını anlatmaya çalışacağız. Günümüzün karmaşık ve büyüyen yazılım projelerinde, etkili bir durum yönetimi aracı olan Redux Toolkit, geliştiricilere Redux'in sunduğu güçlü durum yönetimi özelliklerini daha hızlı ve verimli bir şekilde kullanma imkanı sunar. Redux Toolkit, Redux kütüphanesini daha hızlı ve verimli bir şekilde kullanmak için tasarlanmış bir araçtır. Redux Toolkit'i anlamadan önce gelin Redux nedir ve ne işe yarar, onu anlamaya çalışalım.
Redux, JavaScript uygulamalarında durum yönetimi için kullanılan bir kütüphanedir. Redux, uygulamanın durumunu tek bir yerde tutar ve bu durumu değiştirmek için belirli eylemler kullanır.
Redux, uygulamanın durumunu yönetmek için üç temel kavramı kullanır:
Store: Uygulamanın durumunu tutan nesnedir. Uygulamanın durumu, bir dizi özelliği içeren bir nesne olarak temsil edilir. Bu özellikler, uygulamanın durumunu tanımlayan verileri içerir.
Actions: Uygulamanın durumunu değiştirmek için kullanılan nesnelerdir. Bir eylem, uygulamanın durumunu değiştiren bir nesnedir. Eylemler, uygulamanın durumunu değiştirmek için kullanılan tek yol olarak kabul edilir.
Reducers: Eylemleri işleyen ve uygulamanın durumunu güncelleyen fonksiyonlardır. Bir azaltıcı, bir eylemi işleyen ve uygulamanın durumunu güncelleyen bir fonksiyondur. Azaltıcılar, uygulamanın durumunu güncellemek için kullanılan tek yol olarak kabul edilir.
Redux, uygulamanın durumunu yönetmek için bu üç kavramı kullanır. Bu kavramlar, uygulamanın durumunu daha öngörülebilir ve daha kolay anlaşılabilir hale getirir.
Redux'un bu temel kavramlarını anladıktan sonra, yazımızın ana konusu olan Redux Toolkit nedir ve ne işe yarar, onu inceleyelim.
Redux Toolkit, Redux kütüphanesini daha hızlı ve verimli bir şekilde kullanmak için tasarlanmış bir araçtır. Redux Toolkit, Redux'in sunduğu güçlü durum yönetimi özelliklerini daha hızlı ve verimli bir şekilde kullanma imkanı sunar.
Redux Toolkit'in en önemli özelliklerinden biri, configureStore fonksiyonudur. Bu fonksiyon, Redux store'unu oluşturmayı kolaylaştırır.
Redux Toolkit'in createSlice da önemli olan bir diğer fonksiyondur. Bu fonksiyon, Redux için dilimler (slices) oluşturmanıza izin verir. Her bir dilim, bir parça state ve bu state üzerinde işlem yapan bir dizi reducer fonksiyonunu içerir.
Redux Toolkit'in createAsyncThunk ve createReducer adında iki ayrı fonksiyonu da vardır. createAsyncThunk, asenkron işlemleri yönetmek için kullanılırken, createReducer, bir dilimin state'ini güncellemek için kullanılır.
Kolay Kullanım: Redux Toolkit, API'yi basitleştirir ve kullanımını kolaylaştırır, bu sayede daha az kod yazmanıza olanak tanır.
Hazır Ayarlanmış Fonksiyonlar: Redux Toolkit, bize önceden hazırlanmış fonksiyonlar sunar. Bu fonksiyonlar, durum kesitlerini oluşturmak ve yönetmek için kullanılır.
Performans: Redux Toolkit, projenin performansını artırır ve daha hızlı çalışmasını sağlar. Özellikle, gelişmiş performans özelliklerine sahip olması, Redux Toolkit'in daha hızlı ve daha verimli çalışmasını sağlar.
Asenkron İşlemler: Redux Toolkit, asenkron işlemleri yönetmek için kullanılan createAsyncThunk fonksiyonunu içerir. Bu fonksiyon, asenkron işlemleri kolayca yönetmenize olanak tanır.
Redux Toolkit ve Redux arasındaki temel farklar şunlardır:
Api Karmaşıklığı : Redux Toolkit, Redux'in sağladığı API'yi basitleştirir ve kullanımını kolaylaştırır.
Kod Tekrarı : Redux Toolkit, Redux'in sunduğu bazı özellikleri otomatikleştirir ve tekrar eden kodu azaltır. Özellikle, azaltıcıları otomatik olarak oluşturmak ve durum kesitlerini oluşturmak için slice API'sini kullanmak, kod tekrarını azaltır.
Hata Ayıklama : Redux Toolkit, Redux'in hata ayıklama sürecini kolaylaştırır ve hataları daha hızlı ayıklamanıza olanak tanır. Özellikle, gelişmiş hata ayıklama özelliklerine sahip olması, Redux Toolkit'in hataları daha kolay ayıklamanıza olanak tanır.
Redux Toolkit kullanarak bir uygulama geliştirmek oldukça kolaydır.Redux Toolkit kullanarak bir uygulama geliştirmek için aşağıdaki adımları izleyebilirsiniz:
Redux Toolkit Yükleme: İlk olarak, Redux Toolkit'i yüklemeniz gerekir. Redux Toolkit'i yarn veya npm aracılığıyla yükleyebilirsiniz.
veya
Store Oluşturma: Store yapısı oluşturmada store ne işe yarar ve nasıl oluşturulur hakkında bilgi sahibi olmalısınız. Store, uygulamanın durumunu tutan nesnedir. Store genellikle bir dosyada oluşturulur ve uygulamanın durumunu yönetmek için kullanılır.
Ardından bu store'u uygulamamızda kullanmak için Provider
componentini kullanarak store'u uygulamamıza bağlarız.
Reducer Oluşturma:Reducer, bir eylemi işleyen ve uygulamanın durumunu güncelleyen bir fonksiyondur. Reducer'lar genellikle bir dosyada oluşturulur ve uygulamanın durumunu güncellemek için kullanılır.
Component Oluşturma: Component, uygulamanın arayüzünü oluşturan ve kullanıcı etkileşimlerini yöneten bir yapıdır. Component'ler genellikle bir dosyada oluşturulur ve uygulamanın arayüzünü oluşturmak için kullanılır.
ÖZET
configStore ile bir Redux store oluşturun
Redux store'u uygulamanıza bağlamak için Provider'ı kullanın
createSlice ile bir Reducer oluşturun
useSelector ve useDispatch hook'larını kullanarak state ve dispatch fonksiyonunu alın
Bu adımları takip ederek Redux Toolkit kullanarak bir uygulama geliştirebilirsiniz. Redux Toolkit, Redux'in sunduğu güçlü durum yönetimi özelliklerini daha hızlı ve verimli bir şekilde kullanmanıza olanak tanır.
Aslında bir fark yoktur. Sadece Redcuer'lara ekstra bir işlem yapmanız gerekmektedir. Örneğin bir API'den veri çekmek istediğinizde, bu veriyi bir Reducer'a ekleyip, bu Reducer'ı store'a eklemeniz gerekmektedir. Burda ek pending, fulfilled ve rejected durumlarını eklemeniz gerekmektedir.
pending durumu, veri çekme işlemi başladığında, fulfilled durumu, veri çekme işlemi başarılı olduğunda, rejected durumu ise veri çekme işlemi başarısız olduğunda çalışır. createAsyncThunk fonksiyonu, bir API'den veri çekmek için kullanacağız.
Store Oluşturma
Reducer Oluşturma
Component Oluşturma
Bu adımları takip ederek Redux Toolkit kullanarak bir uygulama geliştirebilirsiniz. Redux Toolkit, Redux'in sunduğu güçlü durum yönetimi özelliklerini daha hızlı ve verimli bir şekilde kullanmanıza olanak tanır.
Umarım yazımız faydalı olmuştur. Vaktinizi ayırdığınız için teşekkürler :) İyi çalışmalar.