Pourquoi la gestion de l&rsquoétat comme Redux résout elle vos problèmes?

Ce n’est que récemment que j’ai réalisé que je travaillais sur WordPress, PHP et Javascript depuis un certain temps. Au cours des cinq à six dernières années, jrsquoai appris des pratiques exemplaires qui ne sont plus les meilleures. Par exemple, la gestion de lrsquoétat la pratique drsquoy mettre toutes les valeurs dynamiques drsquoune application lrsquoutilisateur insère des formulaires, des messages sur la page courante, etc. Dans un endroit, crsquoest rare. Je ne peux pas imaginer la vie sans tout mon état en un seul endroit. Lorsque jrsquoai commencé à écrire Javascript, jrsquoai utilisé la méthode Val () de jquery si jrsquoavais besoin de connaître ou de mettre à jour les valeurs des champs du module. devez faire quelque chose chaque fois que changez, je mrsquoabonne à ses modifications en utilisant la méthode change () de jquery. Évidemment, Val () nrsquoactive pas les événements de changement, donc je dois me souvenir drsquoutiliser jquery. Trigger ().
Il srsquoagit drsquoun exemple de modèle qui commence simplement il nrsquoy a rien de compliqué à apprendre et qui devient rapidement instable et peu performant. Apprendre à utiliser des solutions de gestion drsquoétat comme Redux est un autre problème complexe qui prend du temps. elle est utilisée correctement, la gestion de lrsquoétat est une complexité supplémentaire dans la structure de lrsquoapplication, ce qui rend le développement et la mise à lrsquoessai de lrsquoapplication moins complexes. Les progrès technologiques ont été rapides et la meilleure pratique est maintenant la gestion nationale. La gestion de lrsquoétat utilise des outils comme Redux, qui est très populaire dans les applications React, pour créer une seule source réelle pour lrsquoétat de lrsquoapplication. Crsquoest très similaire à lrsquoutilisation de conteneurs, un sujet dont jrsquoai discuté dans le contexte PHP.
Dans je décrirai les problèmes résolus par des outils de gestion drsquoétat tels que Redux. Dans mon prochain article, je discuterai du partage des composants entre lrsquoapplication REACT et le bloc Gutenberg. Une partie essentielle de cet article est l’utilisation de l’abstraction Redux de WordPress. Commençons par PERC.
N objets au lieu de cartes. Il est important de noter que je recommande fortement de commencer par les objets, mais drsquoenvisager drsquoautres types de données qui pourraient être plus faciles à gérer. Réducteur dans Redux, lrsquoétat est géré par la fonction de décélération. Dans la programmation fonctionnelle, comme un tableau. Réduire () en javascript, obtient la collection drsquoentrées et la réduit à une seule valeur. Cette seule valeur de sortie peut être nrsquoimporte quel type. Vous pouvez compter les entrées et retourner les totaux en entier.
Réduire le réducteur obtient lrsquoétat actuel et renvoie le nouvel état. Parce que React ne rend à nouveau que lorsque lrsquoobjet change, plutôt que lorsque lrsquoobjet change, nous voulons presque toujours retourner un nouvel objet dans Reducer. En général, nous utilisons Reducer pour la collecte de données et spécifions les actions spécifiques sur lesquelles souhaitez effectuer Reducer. Dans Redux, nous appelons ces actions, et dans vuex, nous les appelons mutations. À mon avis, les mutations sont un meilleur terme parce qursquoelles changent drsquoétat, mais lorsque nous envoyons ces actions dans Redux, les actions sont une bonne métaphore qui les mappe au bon réducteur et applique lrsquointergiciel.
La fonction de réduction prend généralement lrsquoobjet comme deuxième argument, qui est action, et utilise le passage à la structure de contrôle action. Type Par exemple, Notez que jrsquoutilise lrsquoopérateur de propagation pour revenir à lrsquoétat. Mon but est drsquoajouter à Array Store dans lrsquoétat. Processeur. Jrsquoaurais pu utiliser lrsquoétat. Processeur. Push () modifie le tableau et retourne à lrsquoétat. Lrsquoobjet est mis à jour au besoin, mais React ne le fait pas. Pourquoi? Comme la variation du tableau (type drsquoobjet) ne crée pas de nouvel objet, elle met à jour lrsquoobjet auquel la référence répond. Nous devons fournir un nouveau produit.
Crsquoest une question éternelle. JS resolve. Je suggère
Le troisième utilisateur du processeur de formulaires Caldera, ici le sélecteur pour obtenir le gestionnaire d’identification de l’État: l’ajout d’un sélecteur à une application nécessite une bibliothèque en tant que re sélection ou module de données WordPress, dont je parlerai dans le prochain article. Jusqursquoà présent, jrsquoai utilisé des fonctions pour tout ce que jrsquoai montré. Ces fonctions doivent être synchronisées. Dans Redux, lrsquointergiciel est utilisé pour les opérations asynchrones. Drsquoaprès mon expérience, crsquoest probablement la partie la plus complexe de la configuration Redux. La solution la plus simple que j’ai trouvée est le module de données WordPress. Dans le datastore WordPress, pouvez ajouter un analyseur. Cette fonction Parser peut être asynchrone et appelée la première fois qursquoun sélecteur du même nom est appelé avec un paramètre donné. Par exemple, si nous avons un sélecteur et un analyseur nommé getpost pour suivre le stockage d’un tableau de postes, alors pour la première fois, le sélecteur getpost est appelé une requête API WordPress rest et le résultat est défini à status. Les sections suivantes de cet article utilisent simplement la valeur de lrsquoétat. Il srsquoagit drsquoune mise en œuvre simple et agréable du chargement lent des données. avez un sélecteur et un analyseur pour chaque requête de page, le défilement infini et le chargement de plusieurs types drsquointerfaces deviennent faciles à gérer. Voici un exemple pratique tiré du bloc Gutenberg formé par le cratère: Ce sont les bases. Il y a assez d pour démarrer Redux. Je suggère drsquoessayer le contre exemple et de regarder cet article sur le modèle Redux + React design de lrsquoéquipe React de Dan Abramov. Jrsquoai également présenté ce sujet à la Conférence JavaScript for WP, où pouvez voir mes diapositives. Dans mon prochain article, je vais montrer comment utiliser le module de données Gutenberg de wordpress pour connecter l’état d’hébergement Redux à l’application React, y compris le bloc g
Utenberg.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins