【问题标题】:nextjs tab click reload same pagenextjs 选项卡单击重新加载同一页面
【发布时间】:2022-12-15 18:47:57
【问题描述】:

我有一个 Next.js 页面 /product

当我在/product 上时,我单击顶部横幅(导航栏)(到/product)上的product,我想在/product 页面中获取刷新页面。

如何在同一页面刷新?

例如,在我的顶部导航栏中 我有三个不同的链接路由器

  • 首页
  • 产品

当我在product页面并再次点击产品链接时 但我想再次刷新整个页面。

我已经在下面尝试过这段代码 对我来说不是解决方案

  <a onClick={()=>router.push('/product')} >product</a>

【问题讨论】:

  • 你试过onClick={() =&gt; router.reload()}了吗?

标签: javascript reactjs next.js router


【解决方案1】:

你可以使用 javascript 函数-

window.href.reload()

这将重新加载页面。如果你正在使用 nextjs/reactjs,你可以在一些承诺和条件下使用它。 希望你会得到你的答案。如果您仍然面临问题,请告诉我,我会帮助您。 谢谢

【讨论】:

  • 如果我在 nextjs 中使用 window 方法,我需要使用 useEffect 这不是我想要的......?
  • 好的,然后使用,这个 Router 中的 Router.reload(window.location.pathname) 是 NExtJS 的包..试试这个...顺便说一下,实际上 javascript 是所有 JS 语言的核心,所以请不要试图避免它.... 谢谢
【解决方案2】:

你可以像那样使用 router.reload() 函数

import { useRouter } from 'next/router'

export default function Page() {
  const router = useRouter()

  return (
    <button type="button" onClick={() => router.reload()}>
      Click here to reload
    </button>
  )
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 2021-10-19
    • 2023-03-17
    相关资源
    最近更新 更多