【发布时间】:2021-11-13 05:38:50
【问题描述】:
我遇到了一个问题,我在页面上有一些过滤器。过滤时,页面 URL 会发生变化,查询字符串会添加到 URL 的末尾。因此,当您单击后退按钮时,页面将停留在当前页面并返回到上一个查询字符串。我想要的是回到从该页面到当前页面的上一页。
例如,我在/home页面,然后我转到/browse页面,然后我过滤一些项目,我的URL将/browse?subject=2,我再次过滤,URL将更改为/browse?subject=2&vendor=2。现在我想上一页(我的意思是/home),当我点击后退按钮时,我会转到/browse?subject=2。我希望我已经表达了我的意思。
【问题讨论】:
-
使用
router.replace而不是router.push。 -
感谢您的评论,但是在这种情况下,我的路由将被破坏,如果我使用 router.back() 函数,我会转到错误的页面
-
我的意思是每次过滤时,使用
router.replace。这样一来,历史堆栈中只会保留一条路径,因此当您单击返回时,您会返回到/home。 -
成功了,谢谢。
标签: javascript reactjs next.js