Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在NextJS中使用自定义文档时如何获取URL参数_Javascript_Reactjs_Next.js - Fatal编程技术网

Javascript 在NextJS中使用自定义文档时如何获取URL参数

Javascript 在NextJS中使用自定义文档时如何获取URL参数,javascript,reactjs,next.js,Javascript,Reactjs,Next.js,我正在使用NextJS生成SSR页面,这些页面是特定于语言的。我想设置lang属性来声明文本的语言 到目前为止,我已经: 从“next/Document”导入文档,{Html,Head,Main,NextScript} 从“下一个/路由器”导入路由器 类MyDocument扩展了文档{ render(){ const{lanaguage}=Router.Router.query 返回( ) } } 导出默认MyDocument 但是,使用自定义文档(\u Document.js)时,Route

我正在使用NextJS生成SSR页面,这些页面是特定于语言的。我想设置lang属性来声明文本的语言

到目前为止,我已经:

从“next/Document”导入文档,{Html,Head,Main,NextScript}
从“下一个/路由器”导入路由器
类MyDocument扩展了文档{
render(){
const{lanaguage}=Router.Router.query
返回(
)
}
}
导出默认MyDocument

但是,使用自定义文档(
\u Document.js
)时,
Router.Router
始终为
null
。使用自定义文档时,是否有其他方法获取URL参数/查询?

我已经能够通过以下方法解决此问题:

从“next/Document”导入文档,{Html,Head,Main,NextScript}
类MyDocument扩展了文档{
render(){
const{lanaguage}=this.props.\uuuu NEXT\u DATA\uuuuuu.query
返回(
)
}
}
导出默认MyDocument

我不确定使用
这个.props.\uuu下一步\uu数据\uuuu
是否是一种不好的做法。但是,它确实有我需要的信息。

因为Next.js v10,如果您使用内置的,Next将自动设置文档的
lang
属性

从文件中:

因为Next.js知道用户访问的语言,所以它将 自动将
lang
属性添加到
标记中

Next.js不知道页面的变体,所以由您自己添加
hreflang
元标记使用
next/head
。你可以了解更多关于 中的
hreflang