Sto effettivamente studiando lo schema di flusso e cè qualcosa che non posso “capire riguardo a memorizza .

Cosa sono esattamente?

Ho letto molti articoli e sembra che riguardi dominio.

Significa che questa è la parte “astratta” relativa alle chiamate api o alle chiamate back-end?

Non è molto chiaro per me.

Modifica: potrebbe essere la stessa cosa della fabbrica angolare? Recupero di dati remoti, esecuzione di unattività aziendale o archiviazione di alcuni stati dellapp (ad esempio lutente corrente connesso)?

Commenti

  • Un collegamento a ciò che precisamente tu ' di cui parlare sarebbe utile. Intendi questo " pattern di flusso "? fluxxor.com/what-is-flux.html
  • facebook.github. io / flux / docs / overview.html # content
  • Flux non è altro che il modello di pubblicazione / sottoscrizione con un vincolo che tutti i dati passino prima attraverso il dispatcher. Garantisce che i dati non vadano allindietro (e causino confusione). Cose come " Store ", " Azione " ecc sono solo un altro modo per dire Componenti del sistema e i dati che vengono passati.

Risposta

Ok lascia che ti spieghi passo dopo passo

1 Che cosè Flux?

  • Un pattern
  • Dispatcher centralizzato
  • Flussi di dati unidirezionali
  • Elemento dellelenco

Lo chiamano Flux anche per un motivo.

Implementazioni Flux

  • Flux di Facebook
  • Alt
  • Reflux
  • Flummox
  • NuclearJS
  • Fluxible

inserisci qui la descrizione dellimmagine

Una chat con Flux

React : Hey Action, qualcuno ha fatto clic su “Save Cour se “.

Azione : Grazie React! Ho registrato un creatore di azioni con il supervisore, quindi il supervisore dovrebbe occuparsi di avvisare tutti i negozi che gli interessano.

Dispatcher : Fammi vedere a chi importa che un corso venga salvato. Ah! Sembra che lo Store abbia registrato una richiamata con me, quindi glielo farò sapere.

Store : Ciao committente! Grazie per laggiornamento! Aggiornerò i miei dati con il payload che hai inviato. Quindi emetterò un evento per i componenti React che interessano.

React : Ooo! Nuovi brillanti dati dal negozio! Aggiornerò linterfaccia utente per riflettere questo!


API Flux


register (funzione callback) – “Ehi supervisore, eseguimi quando si verificano azioni. -Store “

unregister (string id) -” Ehi supervisore, smettila di preoccuparti di questa azione. -Store “

waitFor (array ids) -” Aggiorna prima questo negozio. –Store “

dispatch (object payload) -” Ehi supervisore, informa i negozi di questa azione . -Action “

isDispatching () -” Sono impegnato a inviare callback in questo momento. “

quindi la domanda che ci viene in mente è

Quindi Flux è un modello di pubblicazione-sottoscrizione?

Non proprio.

Differisce in due modi:

1.Ogni payload viene inviato a tutti i callback registrati.

2. I callback possono attendere altri callback

Riepilogo

Flux è un modello per flussi di dati unidirezionali Le azioni incapsulano gli eventi Dispatcherèun hub centrale che contiene i callback I negozi mantengono lo stato dellapp Molte implementazioni

Commenti

  • Il mio primo problema questo stato consente allapplicazione di avere dati diversi delle entità API remote: – /
  • cosa intendi per stato consente? ovunque venga chiamato emit change verrà chiamato React View e di nuovo chiamato state change method
  • Ammettendo che ho costruito unapplicazione con flux. Ho a che fare con unAPI e quindi salvo i dati allinterno dei miei negozi. Cosa succede se un utente modifica i dati remoti? Avrò una differenza tra client e server
  • ora dove posso trovare il motivo. Se tutto il dispatcher e il negozio devono eseguire la visualizzazione in avanti, perché ' t azione aggiornare la vista direttamente.perché ci sono intermediari
  • @MuhammadUmer: Dispatcher è uno per lapplicazione e larchivio si basa sul componente nellapplicazione, quindi per rimuovere gli intermediari di ridondanza sono stati introdotti

Risposta

Ricerca di un semplice esempio ( https://github.com/facebook/flux/tree/master/examples/flux-todomvc/ ), “Memorizza la gestione dello stato dellapplicazione per un particolare dominio allinterno dellapplicazione.” Cioè, contengono dati sullo stato di un aspetto dellapplicazione e tutto il codice per modificarlo. Ogni volta che cè un nuovo aggiornamento dal Dispatcher, tutti i negozi lo vedono, decidono come aggiornare i propri dati in risposta e quindi notificano alle viste che i dati sono cambiati. Negli esempi, gli Store contengono cose come “elenco thread invisibili” (dove il Dispatcher notifica loro che è arrivato un nuovo messaggio o che è stato letto uno vecchio, e le visualizzazioni mostrano i thread del messaggio allutente) e “tempo di riproduzione corrente e state. “

Più tecnicamente: sono il livello intermedio del framework che registra i callback con il Dispatcher per ricevere gli aggiornamenti, quindi notifica alle viste quando lo stato dei dati cambia. (Le visualizzazioni potrebbero quindi inviare le azioni al Dispatcher.) Esiste uninterfaccia astratta che implementano, in cui ogni Store registra un callback con Dispatcher e trasmette eventi alle Views, ma ogni Store sembra rappresentare un dominio specifico in modo concreto. (Esistono controesempi?)

Risposta

Gli archivi sono aree del codice che memorizzano lo stato dellapplicazione e la logica complessa. Un motivo per loro è che più viste probabilmente useranno gli stessi dati, ma li visualizzeranno in un modo diverso, o mostreranno alcuni ma non tutti i dati per un particolare dominio. Ad esempio, un utente accede e tu ricevi il suo nome, cognome, e-mail, foto, città, numero di indirizzo, numero di telefono ecc. Queste informazioni vengono visualizzate in viste separate. Anziché duplicare i dati tra le visualizzazioni, possiamo utilizzare uno Store chiamato UserStore che archivia i dati per lutente. Questo semplifica “il sistema fornendo” un posto per apportare una modifica “ogni volta che la logica oi dati memorizzati devono essere modificati. Ci sono molti altri motivi per utilizzare uno Store, tuttavia questo è il più ovvio credo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *