NextJS i18 在语言环境更改时触发页面重新加载

时间:2021-02-12 05:15:19

标签: reactjs next.js i18next

在用户选择语言后,如何从代码触发页面重新加载?

我正在使用 Next JS 10.0 和新的 i18 功能,所以我的两个网址是

  • localhost/en/dashboard
  • 本地主机/sp/仪表板

在我的反应按钮上点击我试过

router.push(`/${lang}/Dashboard`)

这有效但是有没有一种方法可以让我不必手动重新编码当前页面位置?

2 个答案:

答案 0 :(得分:2)

您不得将 lang 或语言环境用作网址字符串的一部分。请尝试以下操作。

    router.push('/dashboard', '/dashboard', { locale: 'YOUR_NEW_LOCALE' })

如果您想知道为什么有两个“/dashboard”,那是因为第一个是 to,第二个是 asYou can read about it more here

答案 1 :(得分:1)

你可以使用

router.reload()

Docs