React JS Redux: ReactJS Redux Framework Baştan Anlatıyoruz

Why take this course?
İşte React JS ve Redux konusunda öğrenme yolunuz:
React JS'in Temel Konuları
- Componentler: React uygulamalarını oluşturduğumuzda, UI'larımızı componentler olarak adımlandırırırız. Ayrıca, components'in yeniden kullanılabilirliği için
funcitional components
veclass components
konuları öğrenilmelidir. - Props: Componentler arası veri ilevi oluşturmak için props (kavramsal değerler) kullanılır.
- State: Componentin yerel durumunu tutmak ve kullanıcı eylemlerine yanıt vermek için state kullanılır.
- Component Life Cycle: Component'in hayat cizelgesini anlamak ve bu süreçte hanginde hangi metotlar kullanılabilirğini bilmemek.
- API Istekleri: Serverdan veri çekmek için
fetch
API'sinden veyaaxios
gibi HTTP client kitaplıkları kullanılır. - Form ve Event Yönetimi: Kullanıcıların verilerini toplamak ve işlemek için form elements'i ve event listeners kullanılır.
- React Router: Sadece single page application yapmadan farklı, farklı sayfalar arası navigasyon yapmak için React Router kullanılır.
- React Portals: Uygulamanızda modal veya bir şekilde diğer components üzeri üzerinde hiyerarzi eylemlere sahip bir yapı oluşturmak için portal kullanılabilir.
Redux Konusunda Temel Konuları
- Redux Yapısı: Redux, bir "unidirectional data flow" prensibine çalışan state container'dır. Ayrıca, actions, reducers ve store konuları gereklidir.
- Actions: Kullanıcı eylemleri temsil eden objelerdir ve Redux store'a değişiklik yapmak için kullanılır.
- Reducers: Actions uygulama ettiğinde hangi yolunda state'in nasıl değişeceğini tanımlamak için kullanılır ve store'a değişiklik yapacak fonksiyonları içerir.
- Store: Redux'in yerel state deposu, uygulamadaki tüm state'ini saklamak ve bir korelasyon mekanizması sağlamak ürünüdür.
- Middleware: Store ile actions arasında işlenme yapmak için kullanılan sıra ekleyicilerdir (örneğin,
redux-thunk
veyaredux-saga
). - Combined Reducers: Birden fazla reducer'ı birleştirmek ve uygulamanızın farklı yönlerinde değişiklikleri yönetmek için kullanılır.
- React-Redux Binding: React uygulamalarında Redux store'una erişmek için
connect
fonksiyonunu veya hooks (useSelector
,useDispatch
) kullanılır. - Performance Optimizations: Store subscriptions, reactions ve memoization gibi performans optimizasyon tekniklerini öğrenmelisiniz.
Redux Toolkit
Redux Toolkit, Redux'in kullanışlı bir şekilde kullanmak için tasarlanmış bir kitaplık set'idir. RTK, Redux konseptlerini daha basit bir şekilde sunar ve aşağıdaki özellikleri taşır:
- Reducer Toolkit: Bütün reducer yazma süreci otomatik olarak kullanılabilir hale getirir.
- Immutable Update Patterns: Değişiklikleri immutable (değişmez) yoluyla yapmak için yardımcı fonksiyonlar sunar.
- Store Creator: Store oluşturma süreci basitleştirir.
- Selector Toolkit: Zaman ihtiyaç duyulduğunda kullanılacak selector fonksiyonlarını tanımlamak için yardımcı olarak çalışır.
- Action Creator Toolkit: Özelleştirilmiş action creator yazma sürecini hızlandırarak, meta verileri ve payload'leri kolayca yönetmenize yardımcı olur.
Redux Middleware
Redux middleware'ları, actions'ı store'a ulaşmadan önce işleyen bazardır. Örneğin:
- redux-thunk: Asenkron actions yönetmek için.
- redux-saga: Karmaşık asenkron akışları ve süreli görevler için.
- redux-observable: Asenkron akışları yönetmek için RxJS kullanır.
React-Redux Binding ile En Uygun Taklit
React uygulamalarında Redux store'una erişmek ve state'i componentlere bağlamak için react-redux
kullanılabilir. Bu, connect
fonksiyonuyla büyük yapılar oluşturmaya veya React Hooks'ı kullanarak daha basit uygulamalar yapmaya olanak tanır.
React Redux Hooks
React 16.8 veya yeni versiyonlarında, hooks (useSelector
, useDispatch
) tarayıcı kullanarak state'i ve actions'ı direkt olarak React componentlerinde kullanabilirsiniz. Bu, connect
fonksiyonuyla büyük yapılar oluşturmada daha az zorla ve daha basit bir çözüm sağlar.
En Iyi Uygulama Pratiği
- Modular Yazım: Kodunuzu modüler olarak yazın, böylece her biri ayrı ayrı değişiklik edilebilir ve test edilebilir hale gelir.
- Kapsüleredeki İletişim: Actions, reducers ve middleware'lar kapsüllersek, başka bileşenlerle herhangi bir ilkeye veya yanlışlıkla etkileyinceki riski azaltabiliriz.
- Veri Akim Analizi: Redux devrim yaratıcı bir veri akım analizi (REDUX-SAGA) kullanarak, asenkron akışları ve karmaşık işlemleri daha kolayca yönetin.
- Performans Optimizasyonları: Redux'in performansı sürekli olarak izleyerek ve optimize ederek, uygulamanızın hızını artırabilirsiniz.
- Testler: Redux'in mutable değişikliklerden kaçınmaya ve değişikliklerin zaman ihtimaline göre nasıl olacağını anlamak için testler yazabilirsiniz.
- Uygulama Düzenleme ve Yeniden Yapılma: Redux state'ini takip ederek ve değişiklikleri izleyerek, uygulamanızın bir sonraki sürümlerinde değişiklik yapmanıza olanak tanıyabilir.
Bu adımları takip ederek, Redux'in temel prensiplerini ve pratiğini öğrenmeye ve uygulamaya bilmeniz gerekir. İşte bu süreçte size yardımcı olabilecek kaynaklar:
- Redux Official Docs
- React Redux Official Docs
- Redux Toolkit Docs
- Redux Toolkit Quick Start
- redux-starter-kit - Redux Toolkit ile bir boş proje başlatın.
- Redux Tutorial by Daniel Grippi (Daniel Grippi tarafından eğitici olan bir Redux öğrenici)
- Ellen's Complete Guide to Redux with React Hooks
- Redux Middleware Comparison (
redux-thunk
,redux-saga
,redux-observable
hakkında kullanıcı dostu bir karşılaştırma)
Bu kaynaklar, Redux'in temelini ve onu React ile birlikte kullanma konusunda size derinlemesine bilgi sağlayacaktır. Uygulamaya başlamadan yana Redux forumlarına, GitHub'a ve diğer developer topluluklarına sorularınızla ilgili yardım arayın.
Course Gallery




Loading charts...