5 votes

React router, codes après l'exécution de history.push ?

Dites sur votre clickHandler

vous le faites

// url change will cause this component to be dismounted and a new component will mount
history.push(url)

// do some more work 
dispatch(someMoreWork())

Que se passe-t-il avec le code après le push l'appel ? l'exécution du code est-elle garantie ?

7voto

Shubham Khatri Points 67350

La navigation dans l'historique n'est effectuée qu'après l'exécution de l'action de synchronisation dans la file d'attente des événements en javascript.

Dans votre cas, le javascript exécutera tout ce qui se trouve dans la fonction où vous appelez history.push et naviguera ensuite vers la nouvelle route et ce sera un comportement prévisible.

Vous pouvez simplement valider ce qui précède en exécutant l'action de répartition, puis en accédant à la valeur dans le composant rendu.

Regardez cette démo qui démontre le comportement ci-dessus en envoyant une action après history.push et en accédant à l'état redux résultant dans la route rendue.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X