React-Router 在按下后退按钮时跳过搜索查询

ali*_*eza 6 javascript reactjs react-router

在搜索页面中,我使用搜索查询。我想跳过搜索查询中的更改并返回到真实的上一页。

现在:

/page1 -> /page2 -> /page2?id=1 -> /page2?id=1&order=max -(后退)-> /page2?id=1 -(后退)-> /page2? -(返回)-> /page1

我想要的是:

/page1 -> /page2 -> /page2?id=1 -> /page2?id=1&order=max -(返回)-> /page1

小智 5

您想要跳过的页面只需使用替换进行导航,而不是推送它们。

假设您的历史堆栈是

/page1 推送另一个页面 /page2 推送另一个页面 /page3 那么 page3 上只有一个查询更改,而您想在弹出时返回到 page2。

所以只需将 /page3/ 替换为 /page3?q=test

所以现在历史堆栈将是

/第1页

/第2页

/page3?q=测试