正在Next.js页面中检索子域

正在Next.js页面中检索子域,next.js,Next.js,我有一个pages/index.tsxNext.js页面,其代码如下所示: import { ApolloProvider } from "@apollo/react-hooks" import Client from "../db" import Header from "../components/Header" export default function Index() { return <ApolloProvider client={Client}>

我有一个
pages/index.tsx
Next.js页面,其代码如下所示:

import { ApolloProvider } from "@apollo/react-hooks"
import Client from "../db"

import Header from "../components/Header"

export default function Index() {
    return <ApolloProvider client={Client}>
        <Header langKey={langKey} />
    </ApolloProvider>
}
从“@apollo/react hooks”导入{apollo provider}
从“./db”导入客户端
从“./组件/标题”导入标题
导出默认函数索引(){
返回
}

问题是,
langKey
应该是访问页面的子域(例如,
en.localhost:3000
fr.localhost:3000
langKey
应该是
en
fr
)。如何从Next.js上下文检索此信息?我尝试了Router对象,但它在
getInitialProps
lifecycle方法()上的第一个
/
之前似乎没有存储任何URL信息。您可以访问服务器端的请求对象并解析主机头

Index.getInitialProps = async ({ req }) => {
  const subdomain = req.headers.host.split('.')[0];
  return { langkey: subdomain };
};
如果仅在客户端需要此信息,则可以使用:
window.location.host.split('.')[0]
轻松解析生命周期方法中的某个位置

希望有帮助