useReducer nedir, useState yerine ne zaman tercih edilir?

Cevap

useReducer, state'i (state, action) => yeniState biçiminde saf bir fonksiyonla yönetir. Redux'taki desenin bileşen içi hâlidir.

Tercih edilen durumlar:

  • Birbirine bağlı birden çok state alanı (form, sihirbaz adımları)
  • Bir sonraki state'in karmaşık kurallarla hesaplanması
  • State geçişlerini tek yerde toplayıp test etmek
function sepetReducer(state, action) {
  switch (action.type) {
    case "ekle":
      return { ...state, urunler: [...state.urunler, action.urun] };
    case "sil":
      return { ...state, urunler: state.urunler.filter(u => u.id !== action.id) };
    case "temizle":
      return { urunler: [] };
    default:
      throw new Error("Bilinmeyen işlem: " + action.type);
  }
}

const [sepet, dispatch] = useReducer(sepetReducer, { urunler: [] });
dispatch({ type: "ekle", urun });
  1. Virtual DOM nedir ve reconciliation nasıl çalışır?KolayReactFrontend
  2. Listelerde key prop neden önemlidir? Index kullanmak neden sorunludur?KolayReactFrontend
  3. Controlled ve uncontrolled component farkı nedir?KolayReactFrontend
  4. useEffect bağımlılık dizisi nasıl çalışır?OrtaReactFrontend
  5. useMemo ile useCallback arasındaki fark nedir?OrtaReactFrontend
  6. Gereksiz render'ları nasıl tespit eder ve önlersiniz?ZorReactFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle