问题
I use History package to redirect invalid URL to 404 page on my react component.
I use .replace
instead of .push
simply because I don't want the browser to record any invalid url I have visited.
Have I missed the point here? And is there a trade-off between choosing one or the other for my purpose?
Can someone explain to me? thanks in advance ;)
回答1:
I think you have the right idea.
I personally use .replace
when redirecting from an invalid url (or non relevant, i.e. redirect to "profile" page when a logged user goes to the "/login" url), so using the browser's "back" button works properly for the end user.
回答2:
router.replace acts like router.push, the only difference is that it navigates without pushing a new history entry, as its name suggests - it replaces the current entry.
来源:https://stackoverflow.com/questions/39340108/what-is-the-trade-off-between-history-push-and-replace