Redux Basit Terimlerle Nasıl Çalışır?
React bileşenleri arasında veri aktarmak genellikle bir kulaktan kulağa oyunu gibi hissettirir. Veriyi bir ebeveynden çocuğa, oradan da toruna aktarırsınız. Uygulamanız büyüdükçe bu durum karmaşık bir hal alır.
Redux bunu çözer. Tek bir doğruluk kaynağı (single source of truth) oluşturur. Dağınık veriler yerine, her şey tek bir merkezi kasada yaşar.
Redux'u anlamak için bir kahve dükkanı hayal edin.
Store (Kasa) Bu, dükkanın defteridir. Çekirdek sayılarını, siparişleri ve personel listelerini takip eder.
Action (Sipariş)
Bir müşteri tezgahtan bir latte alıp gitmez. Bir sipariş verir. Action, ne olduğunu tanımlayan basit bir nesnedir.
Örnek: { type: 'ADD_TODO', text: 'Buy Milk' }
Reducer (Barista) Defteri güncelleyen tek kişi baristadır. Mevcut durumu (state) ve yeni siparişi alırlar. Ardından defterin yeni bir versiyonunu oluştururlar.
Dispatch (Kasiyer) Kasiyer siparişinizi alır ve barista'ya iletir. Dispatch, action'ınızı store'a gönderen fonksiyondur.
Neden Redux kullanmalısınız?
Uygulamanız kullanıcı profillerini veya alışveriş sepetlerini içerecek şekilde genişledikçe, merkezi bir store hata ayıklamayı (debugging) kolaylaştırır. Verilerin ne zaman ve neden değiştiğini görmek için action geçmişinize bakabilirsiniz. Web siteniz için bir kara kutu (flight recorder) gibi çalışır.
Özet:
• Action: Bir değişikliği tanımlayan bir not. • Reducer: Değişikliği gerçekleştiren mantık. • Dispatch: Action'ı mantığa gönderen tetikleyici.
Kaynak: https://dev.to/code_with_aravind/how-redux-works-in-simple-terms-1pkp