Cela fait un moment que je cherche les hooks de React maintenant, et une question est devenue persistante dans ma tête. Les hameçons renverseront-ils le redux? C'est une discussion assez ancienne, donc d'abord un peu de contexte:
Beaucoup de gens (y compris l'équipe de React) pensent que le redux et les similaires vont simplement s'adapter à la nouvelle API, rendant l'approche du HOC obsolète, mais ma question est:
Avec des hooks personnalisés, utilisez un réducteur , et une logique bien pensée pourquoi ai-je besoin Redux du tout? Je veux dire, n'est-ce pas simplement plus performant de distribuer vos actions à un seul réducteur? J'ai trouvé beaucoup de matériel à ce sujet, mais aucun de ceux-ci ne semble avoir de réponse définitive (peut-être parce qu'il n'y en a pas?), Alors j'aimerais savoir ce que vous pensez de l'avenir de Redux?
3 Réponses :
Non, certainement pas.
J'ai abordé ce problème dans mon Conférence Reactathon 2019 sur "L'État de Redux ".
Pour résumer: les hooks offrent principalement des moyens de faire le même genre de choses que vous pourriez déjà faire, comme l'état des composants locaux et éviter le forage de prop via le contexte. Si c'est tout ce pour quoi vous utilisiez Redux, vous n'avez probablement pas besoin de Redux en premier lieu. Mais les hooks ont leurs limites, et il existe de nombreux cas d'utilisation supplémentaires pour choisir Redux.
Notez également que nous travaillons actuellement à la conception d'un useRedux public ( )
-type hooks API pour React-Redux .
useReducer ()
n'est pas centralisé par lui-même. C'est juste une autre façon d'avoir un état dans un composant (de fonction). Vous pourriez déjà mettre tout l'état de votre application dans votre racine
en utilisant this.state
si vous le souhaitez, donc rien à ce sujet n'est vraiment différent avec useReducer ( )
L'avenir de Re Redux: n'oubliez pas que Redux n'est pas seulement utilisé avec React - c'est un conteneur d'état indépendant du framework / bibliothèque. Donc, même si les développeurs de React cessent de travailler avec lui, Redux sera toujours disponible pour d'autres développeurs (Angular / Vue, etc.) à utiliser sur leurs projets.
Je pense que cette réponse devient de moins en moins pertinente au fur et à mesure que de plus en plus de gens apprennent à combiner useReducer avec useContext, etc. On dirait que Redux devient inévitablement de moins en moins pertinent.
Pas du tout! Redux est encore très utilisé - mon estimation est qu'il est utilisé par environ 50% des applications React. De plus, bien que useReducer
+ useContext
soit une belle combinaison, il a beaucoup de limitations et résout un ensemble de cas d'utilisation différent de celui de Redux. Voir mon article Redux - Not Dead Yet! pour en savoir plus détails. De plus, notre package officiel Redux Toolkit facilite plus que jamais l'utilisation de Redux.
C'est vraiment difficile à dire pour le moment. L'équipe redux met activement à jour le produit pour inclure quelques fonctionnalités intéressantes. Cependant, l'un des créateurs de redux ( https://github.com/acdlite ) semble être sur un chemin pour détruire ses anciennes applications au profit de nouvelles fonctionnalités dans react.
Cela étant dit, Redux est une bibliothèque testée et connue avec laquelle beaucoup de gens sont à l'aise. Je ne crois pas que ce soit une mauvaise idée de démarrer un nouveau projet avec redux Aujourd'hui, demain ou dans un an. La technologie ne meurt pas du jour au lendemain. si cela sert un objectif, il va vivre.
Cependant, je pense que le contexte et les hooks sont une excellente alternative au redux, mais la communauté ne sait tout simplement pas encore comment l'utiliser.
Plus d'un an s'est écoulé depuis la publication de cette question.
Je tiens à ajouter qu'à mon avis, Redux a perdu <^^ une partie pertinence ...
2 acteurs à mon avis ont volé une grande part de la position de Redux sur le marché React:
Les gens ont appris à combiner useReducer avec useContext pour mettre en œuvre une solution beaucoup plus simple et sans tiers dépendances. Avec l'avantage que l'équipe React est derrière; ce qui signifie que nous obtiendrons des améliorations constantes étroitement intégrées avec le framework React.
MobX a élargi sa base d'utilisateurs. Principalement parce qu'il fournit un modèle d'observateur qui nécessite beaucoup moins de code de plaque de chaudière que Redux. (Cela pourrait être débattu).
Donc, même si Redux reste largement utilisé pour les projets React, je prévois que ce sera progressivement
Spécialement pour le développement de champs verts!