Car Context n'est plus une fonctionnalité expérimentale et vous pouvez utiliser Context directement dans votre application et sera idéal pour transmettre des données à des composants profondément imbriqués pour lesquels il a été conçu.
Comme Mark Erikson l'a écrit dans son blog :
Si vous n'utilisez Redux que pour éviter de transmettre des accessoires, le contexte pourrait remplacer Redux - mais vous n'avez probablement pas besoin de Redux en premier lieu.
Le contexte ne vous donne pas non plus Redux DevTools
la possibilité de suivre vos mises middleware
à jour d'état, d'ajouter une logique d'application centralisée et d'autres fonctionnalités puissantes qui Redux
permettent.
Redux
est beaucoup plus puissant et fournit un grand nombre de fonctionnalités que le Context Api
ne fournit pas, également comme l'a mentionné @danAbramov
React Redux utilise le contexte en interne, mais il n'expose pas ce fait dans l'API publique. Vous devriez donc vous sentir beaucoup plus en sécurité en utilisant le contexte via React Redux que directement car si cela change, le fardeau de la mise à jour du code sera sur React Redux et non sur vous.
Il est jusqu'à Redux pour mettre à jour son implémentation pour adhérer à la dernière API contextuelle
La dernière API de contexte peut être utilisée pour les applications où vous utiliseriez simplement Redux pour transmettre des données entre les composants, mais les applications qui utilisent des données centralisées et gèrent la demande d'API dans les créateurs d'action utilisant redux-thunk
ou redux-saga
auraient encore besoin de redux. En dehors de ce redux, d'autres bibliothèques sont associées, telles redux-persist
que celles qui vous permettent de sauvegarder les données de stockage dans localStorage et de les réhydrater lors de l'actualisation, ce que l'API de 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 , ce redux a une application utile comme
- Conserver l'état sur un stockage local, puis démarrer à partir de celui-ci, hors de la boîte.
- Pré-remplissez l'état sur le serveur, envoyez-le au client en HTML et démarrez à partir de celui-ci, prêt à l'emploi.
- Sérialisez les actions des utilisateurs et associez-les, avec un instantané de l'état, à des rapports de bogues automatisés, afin que les développeurs de produits
puissent les rejouer pour reproduire les erreurs.
- Passez des objets d'action sur le réseau pour implémenter des environnements collaboratifs sans changer radicalement la façon dont le code est écrit.
- Maintenez un historique des annulations ou implémentez des mutations optimistes sans changer radicalement la façon dont le code est écrit.
- Voyagez entre l'historique des états en cours de développement et réévaluez l'état actuel à partir de l'historique des actions lorsque le code change, à la TDD.
- Fournissez des capacités d'inspection et de contrôle complètes aux outils de développement afin que les développeurs de produits puissent créer des outils personnalisés pour leurs
applications.
- Fournissez des interfaces utilisateur alternatives tout en réutilisant la plupart de la logique métier.
Avec ces nombreuses applications, il est bien trop tôt pour dire que Redux sera remplacé par la nouvelle API de contexte
duix
package npm. Ce n'est qu'un simple gestionnaire d'état avec des rappels, vraiment facile à implémenter. Juste pour être clair: je suis le créateur.