Hej tamo! Kao dobavljač reduktora vidio sam iz prve ruke kako su ključni reduktori u raznim industrijama. Danas želim razbiti kako reduktor radi u upravljanju državom Mobx-a. To je tema koja bi se u početku mogla činiti pomalo tehnička, ali dat ću sve od sebe da olakšam razumijevanje.
Šta je Mobx?
Prije nego što zaronimo u funkciju reduktora u Mobxu, brzo ćemo razgovarati o tome šta je Mobx. Mobx je biblioteka državne uprave za JavaScript aplikacije. Pomaže vam da u upravljaju vladom svoje aplikacije na reaktivni i efikasan način. U jednostavnim pojmovima, on prati sve podatke u vašoj aplikaciji i osigurava da se kada se te podaci mijenjaju, dijelovi vaše aplikacije koja ovise o njemu se također ažuriraju.
Uloga reduktora
Idemo na glavno pitanje: Kako se u upravljanju državom mobx-a radi reduktor? Reduktor je čista funkcija koja zauzima trenutno stanje i radnju kao ulaz i vraća novu državu. U Mobxu reduktori igraju ključnu ulogu u rukovanju akcijama i ažuriranje države na predvidiv način.
Kako ublažava radu u praksi
Recimo da imate jednostavnu aplikaciju za - popis. Stanje vaše aplikacije može biti niz zadataka. Svaki bi zadatak mogao biti objekt s svojstvima poputid,naslov, izavršen. Kad korisnik doda novi zadatak, to je radnja. Reduktor preuzima trenutno stanje (postojeći popis zadataka) i akcije (novi zadatak koji treba dodati) i vraća novu državu sa uključenim novim zadatkom.
Evo jednostavnog primjera u JavaScript-u:
// Početna državna CONST-a Početna stanica = {Zadaci: []}; // Reducer Funkcija Funkcija Zadatak (stanje = Početna stanica, akcija) {Switch (Action.Type) {Case 'Add_task': Povratak {... State, zadaci: [... State.Tasks, action.payload]}; Case 'Complete_task': Povratak {... State, zadaci: state.tasks.map (zadatak => zadatak.id === action.payload? {... Zadatak, završeno: True}: Zadatak)}; Default: Return State; }}
U ovom primjeru,zadatakFunkcija preuzima trenutno stanje i radnju. Ako je vrsta akcijeAdd_task, Dodaje novi zadatak na listu. Ako je vrsta akcijeKomplet_task, Označava navedeni zadatak kao dovršeno.
Zašto koristiti reduktori u Mobxu?
Reduktori donose nekoliko koristi za upravljanje državom Mobx-a. Prvo, oni natjeraju da se država mijenjaju predvidivim. Budući da su reduktori čiste funkcije, isti ulaz (stanje i djelovanje) uvijek će proizvesti isti izlaz (novo stanje). To olakšava pogrešku vaše aplikacije jer se lako možete pratiti kako se država s vremenom mijenjala.
Drugo, reduktori pomažu u odvajanju zabrinutosti. Logika za rukovanje akcijama i ažuriranje države čuva se na jednom mjestu, čineći vaš kod više organiziraniji i lakšiji za održavanje.
Različite vrste reduktora
Postoje različite vrste reduklasa koje možete susresti u Mobxu Državnog upravljanja. Dvije zajedničke vrste su koncentrični i ekscentrični reduktori.
Koncentrični reduktori
Koncentrični reduktori koriste se kada želite održavati središnju osovinu. U kontekstu Mobx-a može se koristiti koncentrični reduktor kada imate središnji dio države da ovi ostaju svi dijelovi vaše aplikacije ovise o tome. Na primjer, u aplikaciji za kupovinu košarice, ukupna cijena svih stavki u košarici mogla bi biti centralna država. Kada se predmet doda ili ukloni, koncentrični reduktor ažurira ovu centralnu državu na način da sve ostale komponente koje se oslanjaju na ukupnu cijenu mogu reagirati u skladu s tim.
Ako vas zanimaKoncentrični reduktor od legure čelika, Napravljen je od visokokvalitetnog od legure i može biti odličan izbor za vaše industrijske potrebe.
Ekscentrični reduktor
S druge strane, ekscentrični reduktor koriste se kada trebate pomaknuti osovinu. U Mobx-u se može koristiti ekscentrični reduktor kada imate dio svog stanja koji ima drugačiji protok ili ovisnost u odnosu na ostalo. Na primjer, u multi - of formu, svaki korak može imati vlastitu državu koja se ažurira samostalno, ali još uvijek utječe na cjelokupnu državu oblika.
NudimoReduktor ekscentričnog čelika ugljeniReduktor legure čelikakoji su poznati po izdržljivosti i performansama.
Implementacija reduktora u Mobxu
Da biste implementirali reduktori u aplikaciji Mobx, prvo morate definirati reduktori kao što smo radili u prethodnom primjeru. Zatim ćete ih morati integrirati sa Mobx-om.
Korištenje Mobx-a sa reduktorima
Možete koristiti Mobx-oveakcijaipromatratiDekorate da biste napravili svoje stanje reaktivne i postupanje s radnjama. Evo kako to možete učiniti:
uvoz {promatrati, action} from'mobx '; // stvoriti uočljivu državnu trgovinu konstrukciju = zapaženo ({Stanje: inicijalstar}); // omotajte reduktor u akciji Const Updatestate = Action ((Action) => {coarre.state = Zadatak / trgovina.State, akcija);}); // sada možete otpremni akcije ažurirati ({tip: 'add_task', nosivost: {ID: 1, Naslov: 'Kupuju namirnice', završeno: False}});
U ovom kodu prvo kreiramo ugledno stanje pomoću Mobx-apromatratiDekorac. Zatim omotamo reduktor u akciji koristećiakcijaDekorac. To nam omogućava da otpremamo akcije i ažuriramo stanje u Mobx - prijateljski način.
Zaključak
Zaključno, reduktori su suštinski dio Mobxa uprave države. Oni pomažu u rukovanju radnji i ažuriranje države na predvidiv i organiziran način. Bez obzira da li koristite koncentrični ili ekscentrični reduktor, razumijevanje načina na koji rade u velikoj mjeri mogu poboljšati efikasnost i održivost vaših Mobx aplikacija.
Ako ste na tržištu za visoke - kvalitetne reduktore za svoje industrijske projekte, tu smo da pomognemo. Nudimo širok spektar reduktora, uključujućiReduktor ekscentričnog čelika ugljen,Koncentrični reduktor od legure čelika, iReduktor legure čelika. Ako ste zainteresirani za kupovinu ili imate bilo kakvih pitanja, slobodno posegnuti za raspravu o nabavci.


Reference
- Mobx Službena dokumentacija
- JavaScript: Definitivni vodič Davida Flanagana
