React Context API ile redüktör nasıl kullanılır?

Dec 15, 2025

Selam! React geliştirmeyle ilgileniyorsanız muhtemelen React Context API'sini ve azaltıcılarını duymuşsunuzdur. Bunları birleştirmek, React uygulamalarınızdaki durumu yönetmek için ezber bozan bir yöntem olabilir. Ve tahmin et ne oldu? Ben bir redüktör tedarikçisiyim, dolayısıyla React Context API ile bir redüktörü nasıl kullanabileceğinize dair paylaşacak bazı bilgilerim var.

Öncelikle React Context API ve indirgeyicilerin ne olduğuna hızlıca bakalım. React Context API, bileşenleri bileşen ağacının her düzeyinde manuel olarak aktarmaya gerek kalmadan bileşenler arasında veri paylaşmanın bir yoludur. Kullanıcı kimlik doğrulama durumu veya tema ayarları gibi birden fazla bileşenin erişmesi gereken verileriniz olduğunda son derece kullanışlıdır.

Öte yandan, redüktör mevcut durumu ve bir eylemi girdi olarak alan ve yeni bir durum döndüren saf bir fonksiyondur. Redux'ta önemli bir kavramdır ancak React'te bağımsız olarak da kullanabilirsiniz. Redüktörler, karmaşık durum değişikliklerini öngörülebilir bir şekilde yönetmek için mükemmeldir.

Peki neden React Context API ile bir redüktör kullanmak istiyorsunuz? Context API veri paylaşımı için harikadır ancak karmaşık durum güncellemelerini yönetmek için yerleşik bir yönteme sahip değildir. Redüktörlerin devreye girdiği yer burasıdır. Context API ile bir redüktör kullanarak, durum değişikliklerini yönetmek ve bu durumu uygulamanız genelinde paylaşmak için merkezi bir yere sahip olabilirsiniz.

Temel yapıyı kurmaya başlayalım. İlk önce bir bağlam oluşturmanız gerekecek. React'ta bunu kullanarak yapabilirsiniz.bağlam oluşturişlev. İşte bir örnek:

React'ı içe aktar, { createContext, useReducer } from'react'; // Bir bağlam oluşturun const MyContext = createContext(); // Redüktör fonksiyonunu tanımlayın const redüktör = (durum, eylem) => { switch (eylem.tipi) { case 'INCREMENT': return { count: state.count + 1 }; case 'DECREMENT': return { count: state.count - 1 }; varsayılan: dönüş durumu; } }; // Bir sağlayıcı bileşeni oluşturun const MyProvider = ({ çocuklar }) => { const [state, submit] = useReducer(reducer, { count: 0 }); return ( <MyContext.Provider value={{ state, submit }}> {children} </MyContext.Provider> ); }; dışa aktar { MyContext, MyProvider };

Bu örnekte ilk önce adında bir bağlam oluşturuyoruz.Bağlamım. Daha sonra iki tür eylemi gerçekleştirebilecek bir redüktör işlevi tanımlarız:ARTIŞVeAZALMA.Sağlayıcımbileşen şunu kullanır:Redüktörü kullandurumu ve gönderme işlevini yönetmek için kanca. Durum ve sevkıyat daha sonra değer olarak iletilir.MyContext.Provider.

Şimdi bu bağlamın bir bileşende nasıl kullanılacağını görelim. Durumu ve gönderme eylemlerini kullanmak isteyen basit bir bileşeniniz olduğunu varsayalım. Bunu nasıl yapabileceğiniz aşağıda açıklanmıştır:

React'ı içe aktar, { useContext } from'react'; { MyContext } öğesini './yourContextFile' dosyasından içe aktarın; const Bileşenim = () => { const { durum, gönderim } = useContext(Bağlamım); return ( <div> <p>Sayma: {state.count</p> <button onClick={() => submit({ type: 'INCREMENT' })}>Arttırma</button> <button onClick={() => submit({ type: 'DECREMENT' })}>Decrement</button> </div> ); }; varsayılan MyComponent'i dışa aktar;

İçindeBileşenim, kullanıyoruzKullanım BağlamıBağlamdan durum ve gönderme işlevine erişmek için kanca. Daha sonra durumu görüntüleyebilir ve güncellemek için eylemler gönderebiliriz.

React Context API ile azaltıcı kullanmanın en güzel yanlarından biri kodunuzu daha sürdürülebilir hale getirmesidir. Tüm durum değişiklikleri tek bir yerde (redüktör) işlendiğinden, durumun nasıl güncellendiğini anlamak daha kolaydır. Ayrıca durum bağlam aracılığıyla paylaşıldığı için pervane sondajı konusunda endişelenmenize gerek yoktur.

Şimdi gerçek dünyadaki bazı kullanım örneklerinden bahsedelim. Bir e-ticaret uygulaması geliştiriyorsanız bir alışveriş sepetiniz olabilir. Alışveriş sepeti durumu bir redüktör kullanılarak yönetilebilir ve ürün listesi, sepet özeti ve ödeme sayfası gibi farklı bileşenler arasında paylaşılabilir.

Alışveriş sepeti için daha karmaşık bir redüktör örneğine bakalım:

const cartReducer = (state, action) => { switch (action.type) { case 'ADD_TO_CART': return { ...state, items: [...state.items, action.payload] }; case 'REMOVE_FROM_CART': return { ...state, items: state.items.filter(item => item.id!== action.payload.id) }; case 'UPDATE_QUANTITY': return { ...state, items: state.items.map(item => item.id === action.payload.id ? {...item, miktar: action.payload.quantity } : item ) }; varsayılan: dönüş durumu; } };

Bu redüktör, sepete ürün ekleme, sepetten ürün çıkarma ve sepetteki ürün miktarını güncelleme işlemlerini gerçekleştirebilir.

Bir redüktör tedarikçisi olarak, farklı kullanım durumları için çeşitli yüksek kaliteli redüktörler sunuyorum. Örneğin, yüksek mukavemetli malzemeler gerektiren bir proje üzerinde çalışıyorsanız, ürünlerimiz ilginizi çekebilir.Titanyum Gr7 Redüktör. Birinci sınıf titanyumdan yapılmıştır ve zorlu koşullara dayanabilir. Belirli kimyasal dirence sahip bir redüktöre ihtiyacınız varsa,Zirkonyum Redüktörmükemmel uyum olabilir.

Projenizde React Context API ile bir indirgeyici uygulamak istiyorsanız ve güvenilir indirgeyicilere ihtiyacınız varsa bizimle iletişime geçmekten çekinmeyin. İster küçük ölçekli bir geliştirici, ister büyük ölçekli bir kuruluş olun, sizin için doğru çözümlere sahibiz. Redüktörlerimizden en iyi şekilde yararlanmanızı sağlamak için size ayrıntılı özellikler ve destek sağlayabiliriz.

Daha fazla bilgi almak ve satın alma sürecini başlatmak için bizimle iletişime geçin. Doğru azaltıcılarla daha iyi React uygulamaları oluşturmanıza yardımcı olmak için buradayız.

Titanium Gr7 ReducerZirconium Reducer

Referanslar:

  • Context API'deki resmi belgelere tepki verin
  • UseReducer kancasıyla ilgili resmi belgelere tepki verin