Reactrouter.push和router.replace有什么区别?
路由器历史记录的工作方式类似于routes
的stack
。当您使用router.replace
时,您正在覆盖堆栈的顶部。使用router.push
时,它会在stack
顶部添加新路由。
路由器历史记录允许您返回最后一页。例如,当用户导航到无效路由时,您可以使用router.replace
来阻止用户导航回无效路由。
您在Web 浏览器中访问的页面的历史记录就像一个stack
数据结构。您可以将新记录push
到历史记录堆栈的顶部,也可以replace
顶部记录。如果您使用push
,然后点击浏览器的后退按钮,它会带您回到当前所在的页面,但如果您使用replace
它会带您返回两页。