Flux est une architecture d'application que Facebook utilise en interne pour créer l'application Web côté client avec React. Ce n'est ni une bibliothèque ni un framework. Ce n'est ni une bibliothèque ni un framework. C'est une sorte d'architecture qui complète React as view et suit le concept de modèle de flux de données unidirectionnel. C'est utile lorsque le projet contient des données dynamiques et que nous devons maintenir les données à jour de manière efficace. Cela réduit les erreurs d’exécution.
différence de dates dans Excel
Les applications Flux ont trois rôles majeurs dans le traitement des données :
- Répartiteur
- Magasins
- Vues (composants React)
Ici, vous ne devez pas être confondu avec le modèle Model-View-Controller (MVC). Bien que les contrôleurs existent dans les deux, mais les vues (vues) des contrôleurs Flux se trouvent au sommet de la hiérarchie. Il récupère les données des magasins et transmet ensuite ces données à leurs enfants. De plus, les créateurs d'actions sont des méthodes d'assistance au répartiteur utilisées pour décrire toutes les modifications possibles dans l'application. Cela peut être utile comme quatrième partie du cycle de mise à jour de Flux.
Structure et flux de données
Dans l'application Flux, les données circulent dans une seule direction (unidirectionnelle). Ce flux de données est au cœur du modèle de flux. Le répartiteur, les magasins et les vues sont des nœuds indépendants avec des entrées et des sorties. Les actions sont des objets simples qui contiennent de nouvelles données et une nouvelle propriété de type. Examinons maintenant les différents composants de l’architecture de flux un par un.
Répartiteur
Il s'agit d'un hub central pour l'application React Flux et gère tous les flux de données de votre application Flux. Il s'agit d'un registre des rappels dans les magasins. Il ne possède pas de véritable intelligence propre et agit simplement comme un mécanisme de diffusion des actions vers les magasins. Tous les magasins s'enregistrent et proposent un rappel. C'est un lieu qui gère tous les événements qui modifient le magasin. Lorsqu'un créateur d'action fournit une nouvelle action au répartiteur, tous les magasins reçoivent cette action via les rappels dans le registre.
L'API du répartiteur dispose de cinq méthodes. Ceux-ci sont:
comment générer un nombre aléatoire en Java
SN | Méthodes | Descriptions |
---|---|---|
1. | registre() | Il est utilisé pour enregistrer le rappel du gestionnaire d'action d'un magasin. |
2. | se désinscrire() | Il est utilisé pour désenregistrer le rappel d'un magasin. |
3. | attendre() | Il est utilisé pour attendre que le rappel spécifié soit exécuté en premier. |
4. | expédition() | Il est utilisé pour dispatcher une action. |
5. | estDispatching() | Il est utilisé pour vérifier si le répartiteur est en train de distribuer une action. |
Magasins
Il contient principalement l'état et la logique de l'application. Il est similaire au modèle d'un MVC traditionnel. Il est utilisé pour maintenir un état particulier au sein de l'application, se met à jour en réponse à une action et émet l'événement de changement pour alerter la vue du contrôleur.
Vues
On l'appelle également vues de contrôleur. Il est situé au sommet de la chaîne pour stocker la logique permettant de générer des actions et de recevoir de nouvelles données du magasin. Il s'agit d'un composant React qui écoute les événements de changement, reçoit les données des magasins et restitue l'application.
tri à bulles python
Actions
La méthode dispatcher nous permet de déclencher une expédition vers le magasin et d'inclure une charge utile de données, que nous appelons une action. Il s'agit d'un créateur d'action ou de méthodes d'assistance qui transmettent les données au répartiteur.
Avantage de Flux
- Il s'agit d'un modèle de flux de données unidirectionnel facile à comprendre.
- Il s'agit d'un modèle open source et davantage d'un modèle de conception que d'un cadre formel comme l'architecture MVC.
- L'application de flux est plus facile à maintenir.
- Les parties d'application du flux sont découplées.