web-dev-qa-db-fra.com

Quel est le compromis entre l'historique Push and replace?

J'utilise History package pour rediriger l'URL invalide vers la page 404 sur mon composant React.

J'utilise .replace au lieu de .Push simplement parce que je ne veux pas que le navigateur enregistre les URL invalides que j'ai visitées.

Ai-je raté le point ici? Et y a-t-il un compromis entre le choix de l'un ou l'autre pour mon but?

Quelqu'un peut-il m'expliquer? Merci d'avance ;)

29
Kris MP

Je pense que vous avez eu la bonne idée.

J'utilise personnellement .replace lors de la redirection à partir d'une URL non valide (ou non pertinente, c'est-à-dire rediriger vers la page "profil" lorsqu'un utilisateur connecté accède à l'URL "/ login"), donc l'utilisation du bouton "retour" du navigateur fonctionne correctement pour l'utilisateur final.

14
vgrafe

router.replace agit comme router.Push, la seule différence est qu'il navigue sans pousser une nouvelle entrée d'historique, comme son nom l'indique - il remplace l'entrée actuelle.

6
krankuba