我有一条路线/devices
,其中我有device1
和device2
。单击device1
会将我发送到/devices/device1
(history.push('/device1')
),与device2
相同。我有一个徽标可以将我发送到/devices
(history.push)。
如果我去device1
> logo
> device2
> logo
> device1
> logo
> device2
,然后我删除device2
并执行history.replace('/devices')
,而不是返回按钮上,我无法转到网址/devices/device2
,因为我已经替换了它,但是如果再点击两次后退按钮,我将在{{ 1}}网址,因为它仍在历史记录中。
如何从历史记录中完全删除/devices/device2
?我希望有人能理解这个问题。
谢谢
答案 0 :(得分:1)
我们无法以编程方式重置历史记录堆栈(至少在浏览器中,在内存中的历史记录将是微不足道的)。如果出于某种原因需要清除历史记录堆栈,建议您使用window.location.reload()。
react-router创建者的响应:
https://github.com/ReactTraining/history/issues/567#issuecomment-386323573