Comme Contexte n'est plus une fonctionnalité expérimentale et vous pouvez utiliser Context directement dans votre application. Il sera idéal pour transmettre des données à des composants profondément imbriqués, ce pour quoi il a été conçu.
Comme l'a écrit Mark Erikson dans son livre intitulé blog :
Si vous utilisez Redux uniquement pour éviter de transmettre des props, le contexte pourrait remplacer Redux - mais alors vous n'avez probablement pas besoin de Redux en premier lieu d'abord.
Le contexte ne vous donne pas non plus quelque chose comme le Redux DevTools
la la possibilité de tracer vos mises à jour d'état, middleware
pour ajouter centralisé logique d'application centralisée, et d'autres capacités puissantes qui Redux
permet.
Redux
est beaucoup plus puissant et fournit un grand nombre de fonctionnalités que le Context API
ne fournit pas, également comme @danAbramov mentionné
React Redux utilise le contexte en interne, mais il n'expose pas ce fait dans l'API publique. Ainsi, vous devriez vous sentir beaucoup plus en sécurité en utilisant le contexte via React Redux que directement, car s'il change, le fardeau de la mise à jour du code sera sur React Redux et non sur vous.
C'est à Redux de mettre à jour son implémentation pour adhérer à la dernière API Contexte.
La dernière API contextuelle peut être utilisée pour les applications dans lesquelles vous utilisez simplement Redux pour transmettre des données entre les composants. Cependant, les applications qui utilisent des données centralisées et traitent les demandes d'API dans les créateurs d'actions en utilisant l'API contextuelle sont plus efficaces. redux-thunk
o redux-saga
aurait encore besoin de Redux. En dehors de cela, Redux a d'autres bibliothèques associées à lui comme redux-persist
qui vous permet de sauvegarder/stocker des données dans localStorage et de les réhydrater lors de l'actualisation, ce que l'API Contexte ne prend toujours pas en charge.
Comme @dan_abramov l'a mentionné dans son blog Vous n'avez peut-être pas besoin de Redux Redux a des applications utiles comme
- Persistez l'état sur un stockage local et démarrez à partir de celui-ci, dès le départ.
- Pré-remplir l'état sur le serveur, l'envoyer au client en HTML, et démarrer à partir de celui-ci, tout de suite.
- Sérialiser les actions de l'utilisateur et les joindre, avec un instantané de l'état, aux rapports de bogues automatisés, afin que les développeurs du produit
peut les rejouer pour reproduire les erreurs.
- Faites passer des objets d'action sur le réseau pour mettre en place des environnements collaboratifs sans modifier radicalement la façon dont le code est écrit.
- Maintenir un historique d'annulation ou mettre en œuvre des mutations optimistes sans modifier radicalement la façon dont le code est écrit.
- Voyagez entre l'historique des états dans le développement, et réévaluez > l'état actuel à partir de l'historique des actions lorsque le code change, ala TDD.
- Fournir des capacités complètes d'inspection et de contrôle à l'outil de développement afin que les développeurs de produits puissent créer des outils personnalisés pour leurs applications.
- Fournir des interfaces utilisateur alternatives tout en réutilisant la plupart de la logique métier.
Avec ces nombreuses applications, il est beaucoup trop tôt pour dire que Redux sera remplacé par la nouvelle API Contexte.
0 votes
Si vous comparez Redux et React Context API, c'est parce que vous voulez seulement garder les vars synchronisées entre les composants. Vérifiez le
duix
paquet npm. Il s'agit d'un simple gestionnaire d'état avec des callbacks, très facile à mettre en œuvre. Juste pour être clair : je suis le créateur.