web-dev-qa-db-fra.com

Redux vs plain React

J'ai lu quelques tutoriels redux et pour être honnête je ne vois pas jusqu'à présent quelle valeur ajoutée cela apporte par rapport à la simple réaction.

Pour autant que je sache, je peux créer une application et gérer son état en utilisant uniquement React, alors, qu'est-ce qui fait que redux vaut quelque chose?

Eh bien, je reconnais que redux a quelques avantages par rapport à réagir, à savoir:

  • Assure le suivi de toutes les actions effectuées;
  • Facilite le débogage en raison du point précédent;
  • Empêche l'état de passer/monter entre les composants.

Mais peut-être en raison de mon manque d'expérience dans la création de grandes applications, je ne suis pas convaincu que cela me faciliterait la vie.

Pouvez-vous élaborer un peu plus sur les avantages de l'utilisation de redux par rapport à plain react?

36
utxeee

Du haut de ma tête, quelques avantages:

  • La plupart du temps, l'arborescence d'état de votre application peut être considérablement différente de l'arborescence de l'interface utilisateur
  • De nombreux composants peuvent avoir besoin d'accéder au même état et de l'afficher de différentes manières
  • Les composants de rechargement à chaud effaceront votre arborescence de composants existante, y compris tout état stocké à l'intérieur. Garder l'état séparé de l'arborescence de l'interface utilisateur permet de remplacer et de recharger l'arborescence de l'interface utilisateur avec les composants mis à jour, tout en conservant le même état de développement actuel.

Et c'est avant de profiter de nombreux avantages couramment discutés, tels que les mises à jour d'état prévisibles, le débogage de voyage dans le temps, une testabilité améliorée et une logique centralisée.

Il est certainement vrai que vous pouvez écrire une application entière en utilisant rien d'autre que l'état des composants de React (et Dan Abramov lui-même dit que les gens sautent souvent dans Redux trop tôt), mais de mon point de vue, Redux en vaut vraiment la peine.

modifier

J'ai rédigé une version étendue de cette réponse sous la forme d'un article sur le Full Stack React site: Redux et Why It's Good For Yo .

33
markerikson

Pour moi, le plus grand avantage est le fait que redux a un arbre d'état unique par rapport à de nombreux états plus petits dans les composants react uniquement. Avec les réducteurs redux ', l'état devient très déterministe et est plus facile à raisonner.

9
Mario Tacke