我想根据当前的语言环境来自定义HTML。我在pages
目录下创建了一个_document.js
文件,并使用了以下代码:
import { Html, Head, Main, NextScript } from 'next/document'
import { useRouter } from 'next/router'
export default function Document() {
const { locale } = useRouter();
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
但我遇到了这个错误:
错误:Error: NextRouter未安装。https://nextjs.org/docs/messages/next-router-not-mounted
当我转到指定的URL时,我看到他们说我在<Main />
之外使用了逻辑。那么,我如何在_document.js
中访问locale
?
我找到了Next.JS的NextRouter未安装,但即使我使用next/navigation
也无法解决问题,并且出现了以下错误:
错误:不变式期望应用程序路由器已安装