Détecter le changement de route avec le routeur de réaction
- Je mettre en place une logique métier en fonction de l'historique de navigation.
Ce que je veux faire, c'est quelque chose comme ceci:
reactRouter.onUrlChange(url => {
this.history.push(url);
});
Est-il possible de recevoir un rappel de réagir-routeur lorsque l'URL est mis à jour?
source d'informationauteur Aris
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire usage de
de l'histoire.listen()
fonction lorsqu'on essaie de détecter le changement d'itinéraire. Vu que vous êtes en utilisantreact-router v4
enveloppez votre composant avecwithRouter
HOC pour obtenir l'accès à lahistory
prop.history.listen()
retourne ununlisten
fonction. Vous devriez utiliser ceci pourunregister
de l'écoute.Vous pouvez configurer vos routes, comme
index.js
puis dans AppContainer.js
De l'histoire docs:
Lorsque vous êtes à l'aide de réagir-routeur v3 vous pouvez faire usage de
history.listen()
dehistory
paquet comme mentionné ci-dessus ou vous pouvez également faire usagebrowserHistory.listen()
Vous pouvez configurer et utiliser votre routes, comme
Si vous voulez écouter le
history
objet à l'échelle mondiale, vous devrez les créer vous-même et de le passer à laRouter
. Ensuite, vous pouvez l'écouter avec sonlisten()
méthode:Encore mieux si vous créez l'histoire de l'objet en tant que module, de sorte que vous pouvez facilement importer n'importe où vous pourriez en avoir besoin (par exemple,
import history from './history';