Flux je aplikacijska arhitektura koju Facebook interno koristi za izgradnju klijentske web aplikacije s Reactom. To nije knjižnica niti okvir. To nije ni knjižnica ni okvir. To je vrsta arhitekture koja nadopunjuje React as view i slijedi koncept modela Unidirectional Data Flow. Korisno je kada projekt ima dinamičke podatke, a moramo ažurirati podatke na učinkovit način. Smanjuje pogreške tijekom izvođenja.
c niz u nizu
Flux aplikacije imaju tri glavne uloge u radu s podacima:
- Dispečer
- Trgovine
- Pogledi (komponente React)
Ovdje vas ne treba brkati s modelom Model-View-Controller (MVC). Iako, kontroleri postoje u oba, ali Flux kontroler-pregledi (pregledi) nalaze se na vrhu hijerarhije. Dohvaća podatke iz trgovina i zatim ih prosljeđuje njihovoj djeci. Dodatno, pomoćne metode kreatora radnji - dispečera koriste se za opisivanje svih promjena koje su moguće u aplikaciji. Može biti koristan kao četvrti dio ciklusa ažuriranja Fluxa.
Struktura i protok podataka
U aplikaciji Flux podaci teku u jednom smjeru (jednosmjerno). Ovaj tok podataka središnji je za obrazac toka. Dispečer, pohrane i pogledi neovisni su čvorovi s ulazima i izlazima. Radnje su jednostavni objekti koji sadrže nove podatke i svojstvo tipa. Pogledajmo sada različite komponente flux arhitekture jednu po jednu.
Dispečer
To je središnje središte za aplikaciju React Flux i upravlja svim protokom podataka vaše aplikacije Flux. To je registar povratnih poziva u trgovine. Nema vlastitu stvarnu inteligenciju i jednostavno djeluje kao mehanizam za raspodjelu radnji u trgovinama. Sve trgovine se registriraju i pružaju povratni poziv. To je mjesto koje se bavi svim događajima koji mijenjaju trgovinu. Kada kreator akcije pruži novu akciju dispečeru, sve trgovine primaju tu radnju putem povratnih poziva u registru.
API dispečera ima pet metoda. Ovi su:
niz u json objekt
S N | Metode | Opisi |
---|---|---|
1. | Registar() | Koristi se za registraciju povratnog poziva rukovatelja radnjom trgovine. |
2. | odjavi se () | Koristi se za odjavu povratnog poziva trgovine. |
3. | čekati() | Koristi se za čekanje da se navedeni povratni poziv prvi pokrene. |
4. | otprema() | Koristi se za slanje akcije. |
5. | isDispatching() | Koristi se za provjeru da li dispečer trenutno šalje akciju. |
Trgovine
Prvenstveno sadrži stanje i logiku aplikacije. Sličan je modelu u tradicionalnom MVC-u. Koristi se za održavanje određenog stanja unutar aplikacije, ažurira se kao odgovor na radnju i emitira događaj promjene kako bi upozorio pogled kontrolera.
Pogledi
Također se naziva i kontroler-views. Nalazi se na vrhu lanca za pohranjivanje logike za generiranje radnji i primanje novih podataka iz pohrane. To je React komponenta koja sluša promjene događaja i prima podatke iz trgovina i ponovno prikazuje aplikaciju.
Radnje
Metoda otpremnika omogućuje nam da pokrenemo otpremu u trgovinu i uključimo korisni teret podataka, što nazivamo radnjom. To je kreator akcije ili pomoćne metode koje prosljeđuju podatke dispečeru.
što je stog u Javi
Prednost Fluxa
- To je jednosmjerni model protoka podataka koji je lako razumjeti.
- To je open source i više je obrazac dizajna nego formalni okvir poput MVC arhitekture.
- Primjena fluksa je lakša za održavanje.
- Dijelovi za primjenu fluksa su odvojeni.