Javascript 在NextJS中使用自定义文档时如何获取URL参数
我正在使用NextJS生成SSR页面,这些页面是特定于语言的。我想设置lang属性来声明文本的语言 到目前为止,我已经: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
从“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