Quelles sont les différences entre redux, réagissent-redux, redux-thunk?

J'utilise React + Flux. Notre équipe prévoit de passer de flux à redux. Redux est très déroutant pour moi venant de flux world. Dans le flux de contrôle de flux est simple à partir de Composants - > actions - > stocker et stocker les mises à jour des composants. Il est simple et très clair.

Mais dans redux c'est confus. Il n'y a pas de magasin ici, oui il y a quelques exemples sans utiliser store. Je suis passé par plusieurs tutoriels, il semble que tout le monde a son propre style de mise en œuvre. Certains sont en utilisant des conteneurs et certains ne le sont pas. (Je ne connais pas ce concept de conteneurs et je ne suis pas capable de comprendre ce que mapStateToProps, mapDispatchToProps fait).

  1. Quelqu'un peut-il expliquer clairement comment le flux de contrôle se passe dans redux ?
  2. Quels sont les rôles des composants / conteneurs / actions / créateurs d'actions / magasin dans redux ?
  3. Différence entre redux/réagir-redux/redux-thunk/tout les autres ??
  4. , Il serait très utile si vous pouvez poster des liens vers les , simple et précis tutoriels redux.
32
demandé sur Chetan Motamarri 2016-07-16 01:00:40

3 réponses

  1. Quelqu'un peut-il expliquer clairement comment le flux de contrôle se passe dans redux ? Redux a (toujours) un seul magasin.
  1. Chaque fois que vous voulez remplacer l'état dans le magasin, vous envoyez une action.

  2. L'action est captée par un ou plusieurs réducteurs.

  3. Les réducteurs créent un nouvel état qui combine l'ancien état et l'action distribuée.

  4. Les abonnés du magasin sont informés qu'il y a un nouveau état.

  1. Quels sont les rôles des composants / conteneurs / actions / créateurs d'actions / magasin dans redux ?
  • Store-détient l'état, et quand une nouvelle action arrive exécute le pipeline dispatch - > middleware - > reducers, et avertit les abonnés lorsque l'état est remplacé par un nouveau.

  • Composants-muet voir les parties qui ne sont pas au courant de l'état directement. Aussi connu sous le nom de composants de présentation.

  • Les Conteneurs - des morceaux de la vue qui sont conscients de l'état en utilisant react-redux. Aussi connu sous le nom de composants intelligents, et composants d'ordre supérieur


Notez que containers / Smart components vs. dumb components est juste un bon moyen de structurer votre application.


  • Actions-identique au modèle flux-command avec le type et la charge utile.

  • Créateurs D'Action - façon sèche de créer des actions (pas strictement nécessaire)

  1. différence entre redux/réagir-redux/redux-thunk/tout les autres ?
  • Redux - flux comme flow avec un seul magasin, qui peut être utilisé dans n'importe quel environnement que vous aimez, y compris vanilla js, react, angular 1/2, etc...

  • React-redux - liaisons entre redux et react, qui crée des conteneurs (composants intelligents) qui écoutent les changements d'état du magasin, préparent les accessoires et redirigent la présentation (muet) composant.

  • Redux-thunk - middleware qui permet d'écrire l'action des créateurs qui de retour d'une fonction au lieu d'une action. Le thunk peut être utilisé pour retarder l'envoi d'une action, ou pour expédier seulement si une certaine condition est remplie. Utilisé principalement pour les appels asynchrones à l'api, qui envoient une autre action en cas de succès / échec.

  1. Il serait très utile si vous pouvez poster des liens vers n'importe quel simple et tutoriels Redux précis.
46
répondu Ori Drori 2017-01-04 09:25:46

Pour répondre à votre question de titre:

Quelles sont les différences entre redux, réagissent-redux, redux-thunk?

  1. redux: bibliothèque principale (indépendante de React)
  2. redux-thunk: un middleware redux qui vous aide avec des actions asynchrones
  3. react-redux: connecte votre magasin redux avec ReactComponents
9
répondu webdeb 2016-07-15 23:03:31
  • redux: bibliothèque pour gérer l'état de l'application.
  • react-redux: bibliothèque pour gérer l'état de l'application React.
  • redux-thunk: un middleware pour la journalisation, les rapports de plantage,la conversation avec une API asyn, le routage, etc...
0
répondu sultan aslam 2018-08-05 10:40:58