0
votes

REACT-REDUX: Dois-je utiliser Connect () et Carte State / Dispatch sur tous mes composants d'un seul arborescence? Y a-t-il un moyen de le faire une seule fois?

Donc, fondamentalement, j'ai une application avec un seul arbre composant. app en tant que parent, puis il descend de là. Initialement, tous les états sont évidemment centralisés à partir du composant parent app , comme il est normalement, puis l'état est passé par composant via des accessoires. Nous savons tous que ceci est un problème car l'arbre composant est plus grand et plus grand.

J'étudie React-Redux et je viens de curieux si je dois toujours utiliser Connect () , puis chacun crée un MapStaStatetoprops et MapDisPatchToprops Pour chaque et tous mes composants, y compris les sous-composants? Y a-t-il un moyen unique de faire cela? N'est-il pas possible que mes nombreux composants accèdent à l'ensemble du magasin sans cartographier chaque état / envoi aux accessoires d'un seul par un, que je trouve répétitif et consommateur de temps?

Je suis venu d'un fond de Vue-Vuex (bien que mon expérience de VUEX soit limitée) et React-ReDux est juste une cire à billes entièrement différente, sinon beaucoup plus compliquée imo.


1 commentaires

Oui, mais je ne pense pas qu'il y ait un problème de création de MapSTeTétoprops et de MapDisPatchToprops pour chaque composant, car chaque composant peut avoir besoin d'actions différentes et d'indiquer, il est donc logique de les créer pour chaque composant. Comme indiquer que vous avez deux réducteurs employés et projet, et pour leurs composants, vous emmènerez des États et des actions qui ne sont nécessaires que dans cette composante.


3 Réponses :


1
votes

Votre état dans REDUX Store ne change pas, mais pour l'utiliser, vous devez utiliser connecter et vous connecter à votre magasin. Si vous ne voulez pas utiliser Connect, Vous pouvez simplement transmettre vos états à un composant enfant par des accessoires comme Et utilisez vos données dans votre composant enfant Si ces manières ne satisfaisants pas, vous pouvez lire sur le système de contexte, mais c'est à nouveau parent à l'enfant, mais vous pouvez transmettre des données de parent à petit-enfant sans utiliser l'enfant

Vous pouvez en lire ici ici

J'espère que cela vous aide.


0 commentaires

1
votes

avec ReDux, vous n'avez pas à connecter tous les composants à son magasin. Vous ne connectez que les composants qui en ont vraiment besoin. Par exemple, si un composant connecté a des enfants, il pourrait être plus simple de ne pas connecter le Childen à Redux, mais laissez plutôt laisser le parent connecté à la mise à jour de ses enfants. Les petits-enfants peuvent être coonectés mais pas leurs enfants immédiats et ainsi de suite. Il peut y avoir de nombreuses approches et chaque composant peut toujours avoir son propre État privé en plus de Redux Store.

Actuellement réact.functionComponent s sont en mode et vous pouvez utiliser usereceducer à la place de connectez si vous auriez moins de possibilités à affiner les performances avec le crochet.


0 commentaires

2
votes

par Entrée de la FAQ Redux sur" Dois-je connecter tous mes composants, ou juste un? ":

Documentation anticipée de Redux indiquait que vous ne devez avoir que quelques composants connectés à proximité du haut de votre arborescence des composants. Cependant, le temps et l'expérience ont montré qu'une telle architecture de composants nécessite généralement quelques composants pour en savoir trop sur les exigences de données de tous leurs descendants et les oblige à transmettre un nombre déroutant des accessoires.

Souligner "Un composant conteneur en haut" dans Redux Exemples était une erreur. Ne prenez pas cela comme une maxime. Essayez de garder vos composants de présentation séparés. Créez des composants de conteneur en les connectant quand il est pratique. Chaque fois que vous avez l'impression d'être duplication du code dans les composants parents pour fournir des données pour les mêmes types d'enfants, le temps d'extraire un conteneur. Généralement dès que vous estimez qu'un parent sait trop de données «personnelles» ou des actions de ses enfants, le temps d'extraire un conteneur.

En fait, des points de repère ont montré que des composants plus connectés conduisent généralement à de meilleures performances que de moins de composants connectés.

En général, essayez de trouver un équilibre entre le flux de données compréhensible et les domaines de responsabilité avec vos composants.


0 commentaires