🔄 Redux Çalışma Prensibi

Redux’un veri akışı tek yönlüdür (unidirectional data flow).

Bir kullanıcı etkileşimi → Action → Dispatch → Reducer → Yeni State → UI güncellemesi şeklinde işler.

  1. Event Handler (Olay İşleyici)

    Kullanıcı bir butona tıklar veya bir inputa değer girer.

    👉 Örn: “50$ yatır” butonuna basıldı.

  2. Action Creator

    Olay bir action objesi oluşturur:

    { type: "DEPOSIT", payload: 50 }
    
  3. Dispatch

    Action, dispatch ile Store’a gönderilir.

  4. Reducer

    Store’daki ilgili reducer, mevcut state + action objesini alır → yeni state döndürür.

  5. Store Güncelleme

    Yeni state Store’a kaydedilir.

  6. Re-render

    Store’a abone olan component’ler state değişimini fark eder ve tekrar render olur.


⚖️ Context API vs Redux

Özellik Context API + useReducer Redux
Paket Bağımlılığı React’in parçasıdır, ek paket yok. redux, react-redux gerekir.
Kurulum Basit, tek context açmak kolay. Daha fazla boilerplate.
Performans Fazla re-render olma riski. İçinde optimizasyon mekanizmaları var.
Asenkron İşlemler Yerleşik destek yok. Ekstra kod gerekir. Middleware (redux-thunk, redux-saga) ile güçlü async desteği.
DevTools Sadece React DevTools. Çok güçlü Redux DevTools.

🛠️ Ne Zaman Hangisini Kullanmalı?

🔹 Context API + useReducer

🔹 Redux