React router.push和router.replace之间的区别?

时间:2018-10-23 17:35:45

标签: reactjs react-router react-router-v4

反应 router.push router.replace 有什么区别?

2 个答案:

答案 0 :(得分:1)

您在网络浏览器中访问的页面的历史就像一个created = Order.where(status: 'open') on_delivery = Order.where(stauts: 'on_delivery') orders = created + on_delivery orders.sort_by(&:status_date) 数据结构。您可以将新记录stack放置在历史记录堆栈的顶部,也可以push保留顶部的记录。如果您使用replace,然后按浏览器的“后退”按钮,它将带您回到当前所在的页面,但是如果您使用push,它将使您返回两页。

答案 1 :(得分:1)

路由器历史记录的工作方式类似于stack中的routes。使用router.replace时,将覆盖堆栈顶部。使用router.push时,它将在stack的顶部添加一条新路由。

路由器历史记录可让您返回到最后一页。例如,当用户导航到无效路线时,可以使用router.replace来防止用户导航回无效路线。