Ok, laissez-moi vous expliquer étape par étape
1 Qu'est-ce que Flux?
- Un motif
- Répartiteur centralisé
- Flux de données unidirectionnels
- Élément de liste
Ils l'appellent Flux pour une raison aussi.
Implémentations de flux
- Flux de Facebook
- Alt
- Reflux
- Démonter
- NuclearJS
- Fluxible
Un chat avec Flux
Réagissez : Hey Action, quelqu'un a cliqué sur ce bouton "Enregistrer le cours".
Action : Merci de réagir! J'ai enregistré un créateur d'actions auprès du répartiteur, de sorte que le répartiteur doit veiller à informer tous les magasins concernés.
Dispatcher : Laissez-moi voir qui se soucie de la sauvegarde d'un cours. Ah! On dirait que le magasin a enregistré un rappel avec moi, alors je vais lui faire savoir.
Magasin : Salut répartiteur! Merci pour la mise à jour! Je mettrai à jour mes données avec la charge utile que vous avez envoyée. Ensuite, j'émettrai un événement pour les composants React qui importent.
Réagissez : Ooo! De nouvelles données brillantes du magasin! Je mettrai à jour l'interface utilisateur pour refléter cela!
API Flux
register (fonction callback) - «Hey dispatcher, lance-moi quand des actions se produisent. -Boutique"
unregister (string id) - «Hey dispatcher, arrête de t'inquiéter de cette action. -Boutique"
waitFor (array ids) - «Mettez d'abord à jour ce magasin. -Boutique"
dispatch (objet payload) - «Hey dispatcher, informe les magasins de cette action. -Action"
isDispatching () - "Je suis en train de distribuer des rappels en ce moment."
de sorte que la question soulevée dans notre esprit est
Alors Flux est un modèle de publication-abonnement?
Pas assez.
Diffère de deux manières:
1.Chaque charge utile est envoyée à tous les rappels enregistrés.
2.Les rappels peuvent attendre d'autres rappels
Sommaire
Le flux est un modèle pour les flux de données unidirectionnels Les actions encapsulent les événements Dispatcher est un hub central qui contient les rappels Les magasins conservent l'état de l'application De nombreuses implémentations