【发布时间】:2019-03-28 00:47:57
【问题描述】:
React router.push 和 router.replace 有什么区别?
【问题讨论】:
标签: reactjs react-router react-router-v4
React router.push 和 router.replace 有什么区别?
【问题讨论】:
标签: reactjs react-router react-router-v4
路由器历史记录就像routes 中的stack。当您使用router.replace 时,您将覆盖堆栈的顶部。在使用router.push 时,它会在stack 的顶部添加一条新路由。
路由器历史记录允许您返回最后一页。例如,当用户导航到无效路线时,您可以使用router.replace 来防止用户导航回无效路线。
【讨论】:
您在网络浏览器中访问的页面的历史记录就像一个stack 数据结构。您可以push 一条新记录到历史堆栈的顶部,也可以replace 顶部记录。如果您使用push,然后点击浏览器的后退按钮,它将带您回到您当前所在的页面,但如果您使用replace,它将带您返回两页。
【讨论】: