web-dev-qa-db-fra.com

réagir routeur obtenir le nom de chemin complet actuel

Existe-t-il un moyen simple de renvoyer l’adresse actuelle du routeur?.

IE, si je suis sur la page, et je veux juste voir quelle page je suis en fonction du routeur de réaction.

Ainsi, localhost/admin/users renverrait admin/users

Évidemment, je peux obtenir les mêmes résultats en analysant l'emplacement, mais je me demandais si le routeur de réaction fournit un mécanisme simple pour le faire, de la même manière qu'il fournit les accessoires params?

12
l2silver

Si vous utilisez la version 1.0 ou une version plus récente, vous devez utiliser la variable location dans vos composants React qui correspond à un itinéraire. Donc, vous venez de taper

this.props.location.pathname

pour obtenir ce que tu voulais.

32
Alex Moldovan

this.props.location.pathname donne uniquement le chemin de routage.

window.location.href vous donne l'URL complète, comme suggéré ici https://stackoverflow.com/a/39823749/7560899

11
Vish

Vous pouvez aussi essayer 

location.pathname

Cela peut fonctionner alors que d'autres méthodes ne fonctionnent pas comme cela m'a été fait

9
xims

window.location donnera le chemin complet.

this.props.location.pathname - il peut ne pas donner le chemin complet. utilisez ceci si vous voulez juste le chemin de l'URL sans le préfixe du domaine. (De plus, je peux suggérer d'utiliser une API de contexte pour obtenir cela dans n'importe quel composant enfant au lieu de passer cela comme accessoire)

un autre exemple, pour implémenter le nouveau composant avec fonctionnalité de partage social, vous devrez peut-être utiliser le window.location et non le location.pathname.

0
Vinoth