【问题标题】:Back to previous page instead of previous url in next js返回上一页而不是下一个 js 中的上一个 url
【发布时间】: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


【解决方案1】:

您需要做的是在您的/browse页面中过滤时使用router.replace而不是router.push,这样,您的过滤结果将不会添加到浏览器历史记录中,当您尝试使用时router.back你会转到上一页。

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2021-07-20
    • 2021-09-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多