Bagaimana menggunakan pengurangan dengan API Konteks React?
Dec 15, 2025
Hei ada! Jika anda menjadi pembangunan bertindak balas, anda mungkin pernah mendengar tentang API dan Reducers Konteks React. Menggabungkannya boleh menjadi permainan - Changer untuk menguruskan keadaan dalam aplikasi React anda. Dan teka apa? Saya seorang pembekal pengurangan, jadi saya mempunyai beberapa pandangan untuk berkongsi bagaimana anda boleh menggunakan pengurangan dengan API Konteks React.
Mula -mula, mari kita cepat pergi ke API dan Reducers Konteks React. API Konteks React adalah cara untuk berkongsi data antara komponen tanpa perlu lulus prop secara manual melalui setiap peringkat pokok komponen. Ia sangat berguna apabila anda mempunyai data bahawa pelbagai komponen memerlukan akses kepada, seperti status pengesahan pengguna atau tetapan tema.
Sebaliknya, pengurangan adalah fungsi tulen yang mengambil keadaan semasa dan tindakan sebagai input dan mengembalikan keadaan baru. Ia adalah konsep utama dalam Redux, tetapi anda juga boleh menggunakannya secara bebas dalam React. Pengurangan sangat bagus untuk menguruskan perubahan keadaan kompleks dengan cara yang boleh diramal.
Jadi, mengapa anda mahu menggunakan pengurangan dengan API Konteks React? Nah, API konteks sangat bagus untuk berkongsi data, tetapi ia tidak mempunyai cara yang dibina - dalam menguruskan kemas kini keadaan kompleks. Di sinilah pengurangan masuk. Dengan menggunakan pengurangan dengan API konteks, anda boleh mempunyai tempat berpusat untuk menguruskan perubahan negara dan berkongsi keadaan di seluruh aplikasi anda.
Mari kita mulakan dengan menubuhkan struktur asas. Pertama, anda perlu membuat konteks. Dalam React, anda boleh melakukan ini dengan menggunakanCreateContextfungsi. Inilah contoh:
import react, {createContext, usereducer} from'react '; // Buat konteks const myContext = createContext (); // Tentukan fungsi reducer const reducer = (state, action) => {switch (action.type) {case 'increment': return {count: state.count + 1}; kes 'penurunan': kembali {count: state.count - 1}; Lalai: Kembali keadaan; }}; // Buat komponen penyedia const myProvider = ({children}) => {const [state, Dispatch] = userEducer (reducer, {count: 0}); kembali (<myContext.provider value = {{state, Dispatch}}> {children} </mycontext.provider>); }; eksport {myContext, myProvider};
Dalam contoh ini, kita mula -mula membuat konteks yang disebutMycontext. Kemudian kami menentukan fungsi reducer yang boleh mengendalikan dua jenis tindakan:KenaikandanPengurangan. TheMyproviderKomponen menggunakanUserEducerHook untuk menguruskan negeri dan fungsi penghantaran. Negeri dan penghantaran kemudian diluluskan sebagai nilai kepadaMycontext.provider.
Sekarang, mari kita lihat cara menggunakan konteks ini dalam komponen. Katakan anda mempunyai komponen mudah yang ingin menggunakan tindakan negeri dan menghantar. Inilah cara anda boleh melakukannya:
Import React, {useContext} dari'React '; import {myContext} dari './YourContextFile'; const myComponent = () => {const {state, Dispatch} = useContext (myContext); kembali (<div> <p> count: {state.count} </p> <button onClick = {() => Dispatch ({type: 'increment'})}> increment </button> <button onClick = {() }; eksport myComponent lalai;
DalamMyComponent, kami menggunakanuseContextcangkuk untuk mengakses fungsi negeri dan penghantaran dari konteks. Kami kemudian boleh memaparkan tindakan negeri dan menghantar untuk mengemas kini.
Salah satu perkara yang hebat tentang menggunakan pengurangan dengan API Konteks React adalah bahawa ia menjadikan kod anda lebih banyak dipelihara. Oleh kerana semua perubahan keadaan ditangani di satu tempat (pengurangan), lebih mudah untuk memahami bagaimana keadaan dikemas kini. Juga, kerana negara dikongsi melalui konteks, anda tidak perlu bimbang tentang penggerudian prop.
Sekarang, mari kita bercakap tentang beberapa kes penggunaan dunia yang nyata. Jika anda membina aplikasi E - Commerce, anda mungkin mempunyai keranjang belanja. Keadaan keranjang belanja boleh diuruskan menggunakan pengurangan dan dikongsi di pelbagai komponen seperti senarai produk, ringkasan kereta, dan halaman checkout.
Mari kita lihat contoh reducer yang lebih kompleks untuk keranjang belanja:
const cartreducer = (state, action) => {switch (action.type) {case 'add_to_cart': return {... state, items: [... state.items, action.payload]}; kes 'penyingkiran_from_cart': kembali {... negeri, item: state.items.filter (item => item.id! == action.payload.id)}; kes 'update_quantity': return {... state, item: state.items.map (item => item.id === action.payload.id? {... item, kuantiti: action.payload.quantity}: item)}; Lalai: Kembali keadaan; }};
Pengurangan ini boleh mengendalikan menambah item ke kereta, mengeluarkan item dari kereta, dan mengemas kini kuantiti item dalam kereta.
Sebagai pembekal pengurangan, saya menawarkan pelbagai pengurangan berkualiti tinggi untuk kes penggunaan yang berbeza. Contohnya, jika anda mengusahakan projek yang memerlukan bahan kekuatan yang tinggi, anda mungkin berminat dengan kamiTitanium gr7 reducer. Ia dibuat dari Titanium Top - Notch dan dapat menahan keadaan yang sukar. Dan jika anda memerlukan pengurangan dengan rintangan kimia tertentu, kamiReducer zirkoniumBoleh jadi sesuai.
Jika anda ingin melaksanakan pengurangan dengan API Konteks React dalam projek anda dan memerlukan beberapa pengurangan yang boleh dipercayai, jangan teragak -agak untuk menjangkau. Sama ada anda pemaju skala kecil atau perusahaan skala besar, kami mempunyai penyelesaian yang tepat untuk anda. Kami dapat memberikan anda spesifikasi dan sokongan terperinci untuk memastikan bahawa anda memanfaatkan sepenuhnya pengurangan kami.
Hubungi kami untuk maklumat lanjut dan untuk memulakan proses perolehan. Kami di sini untuk membantu anda membina aplikasi React yang lebih baik dengan pengurangan yang betul.


Rujukan:
- Reaksi Dokumentasi Rasmi mengenai API Konteks
- Reaksi dokumentasi rasmi pada cangkuk usereducer
