从历史反应路由器中删除特定路径

时间:2020-04-02 14:40:03

标签: reactjs react-router

我有一条路线/devices,其中我有device1device2。单击device1会将我发送到/devices/device1history.push('/device1')),与device2相同。我有一个徽标可以将我发送到/devices(history.push)。

如果我去device1> logo> device2> logo> device1> logo> device2,然后我删除device2并执行history.replace('/devices'),而不是返回按钮上,我无法转到网址/devices/device2,因为我已经替换了它,但是如果再点击两次后退按钮,我将在{{ 1}}网址,因为它仍在历史记录中。

如何从历史记录中完全删除/devices/device2?我希望有人能理解这个问题。

谢谢

1 个答案:

答案 0 :(得分:1)

我们无法以编程方式重置历史记录堆栈(至少在浏览器中,在内存中的历史记录将是微不足道的)。如果出于某种原因需要清除历史记录堆栈,建议您使用window.location.reload()。

react-router创建者的响应:

https://github.com/ReactTraining/history/issues/567#issuecomment-386323573