Hej tamo! Kao dobavljač reduktora, često me pitaju o sintaksi reduktora u Reduxu. Dakle, zaronimo pravo i razdvojimo ga na način koji je lako razumljiv.
Prvo, Redux je predvidljivi državni spremnik za JavaScript aplikacije. Pomaže vam da upravljate stanjem svoje aplikacije na organiziraniji i učinkovitiji način. A reduktori igraju ključnu ulogu u ovom procesu.
Reduktor u Reduxu je čista funkcija koja poduzima trenutno stanje i radnju kao argumenti i vraća novo stanje. To je poput kuhara koji uzima sirove sastojke (trenutno stanje i radnju) i stvara ukusan obrok (novo stanje).
Osnovna sintaksa reduktora izgleda ovako:
Funkcija reduktor (stanje, radnja) {switch (action.type) {case 'action_type_1': // logika za obradu action_type_1 return newState; slučaj 'action_type_2': // logika za rukovanje action_type_2 return newState; zadano: stanje povratka; }}
Razdvojimo ovo korak po korak.
Definicija funkcije
Prvi dio je definicija funkcije. Definiramo funkciju koja se zovereduktorTo zahtijeva dva parametra:stanjeiakcijski. Astanjepredstavlja trenutno stanje prijave iakcijskije objekt koji opisuje koju bi promjenu trebale izvršiti državi.
Izjava Switch
Unutar funkcije koristimo aprekidačIzjava za rješavanje različitih vrsta radnji. Svakispisodgovara određenoj vrsti djelovanja. Na primjer, ako je vrsta radnje'Action_Type_1', izvodimo logiku za rješavanje te akcije i vraćanje nove države.
Zadani slučaj
Azadanoslučaj je važan. Osigurava da ako vrsta radnje ne odgovara bilo kojem od slučajeva koje smo definirali, jednostavno vratimo trenutno stanje. To je presudno jer su reduktori čiste funkcije, što znači da bi uvijek trebali vratiti novo stanje ili postojeće stanje ako nije potrebna promjena.
Sada, razgovarajmo o tome kako se to odnosi na moj posao kao dobavljač reduktora. U stvarnom svijetu bavimo se različitim vrstama reduktora, poputEkscentrični reduktor od nehrđajućeg čelika,,Legirajući čelični ekscentrični reduktor, iKoncentrični reduktor od nehrđajućeg čelika.
Baš kao u Reduxu, svaka vrsta reduktora ima svoju specifičnu funkciju i slučaj upotrebe. Na primjer, ekscentrični reduktor koristi se kada trebate povezati cijevi različitih veličina uz održavanje određenog poravnanja. S druge strane, koristi se koncentrični reduktor kada želite spojiti cijevi različitih veličina na više usredotočeni način.


U kontekstu Reduxa, različite vrste radnji su poput različitih vrsta reduktora u stvarnom svijetu. Svaka vrsta akcije ima određenu svrhu i zahtijeva drugačiji skup logike da bi je postupio.
Pogledajmo praktičniji primjer reduktora u Reduxu. Pretpostavimo da gradimo jednostavnu prijavu za popis obveza. Naša država mogla bi biti niz predmeta za obavljanje obveza, a naše akcije bi mogle uključivati dodavanje novog predmeta, označavanje predmeta kao dovršetka ili brisanje predmeta.
// početno stanje const inicijate = []; funkcija todoRucer (stanje = inicijat, akcija) {switch (action.type) {case 'add_todo': return [... stanje, action.payload]; slučaj 'Mark_Completed': povratak stanja.map (todo => todo.id === action.payload.id? {... todo, dovršeno: true}: todo); slučaj 'delete_todo': return stanje.filter (todo => todo.id! == action.payload.id); zadano: stanje povratka; }}
U ovom primjeru,Dodati_Akcija dodaje novu stavku obveza državi. AMark_CompletedRadnja označava određeni predmet obveznika kao dovršeno iDelete_todeAkcija uklanja stavku obveza iz države.
Možda se pitate kako koristiti ovaj reduktor u svojoj prijavi. U Reduxu obično koristiteCreatestorefunkcija izreduksBiblioteka za stvaranje trgovine koja drži državu i koristi reduktor za ažuriranje države.
uvoz {createstore} iz 'Redux'; const Store = createstore (todoRucer); // Spati radnju za dodavanje nove prodavaonice predmeta. // Nabavite trenutno stanje const currentState = Store.getState (); Console.log (CurrentState);
U ovom kodu stvaramo trgovinu koristeći našudodubljenika zatim otpremite radnju za dodavanje nove stavke. Tada možemo dobiti trenutno stanje trgovine koristećigetstatemetoda.
Dakle, tu ste ga imali! To je osnovna sintaksa reduktora u Reduxu. Bez obzira radite li na jednostavnoj aplikaciji za popis obveza ili na složenoj aplikaciji na razini poduzeća, reduktori su moćan alat za upravljanje stanjem vaše aplikacije.
Ako ste na tržištu zbog visokokvalitetnih reduktora za vaše sustave cjevovoda, bilo da je toEkscentrični reduktor od nehrđajućeg čelika,,Legirajući čelični ekscentrični reduktor, iliKoncentrični reduktor od nehrđajućeg čelika, slobodno nam se obratite savjetovanju. Tu smo da vam pomognemo da pronađete pravo rješenje za svoje potrebe.
Reference
- Redux Dokumentacija: Službena Redux dokumentacija pruža detaljne informacije o reduktorima i ostalim REDUX konceptima.
- JavaScript za lutke: Odličan resurs za učenje osnova JavaScript -a, što je ključno za razumijevanje Reduxa.
