在组件外部的服务器端 nextjs 上访问 url 参数

问题描述 投票:0回答:1

在 next.js 项目中,我有一个服务器端呈现的页面,它接受查询参数,例如

site.com/page?search=foo

我想访问服务器端的 url 或 url 参数

{search: "foo"}
,任何组件的 outside。就我而言,需要导出页面上的元数据。理想的例子:

const queryParams = {search: "foo"}
// ^ how do I actually get this

export const metadata: Metadata = {
  openGraph: {
    description: "this is a search for " + queryParams.search
  }
}

export default function Page() {
  return <div>content</div>
}

我看到了 getStaticProps 的文档,但事实上这只在内部运行代码,然后稍后导出组件 - 我不能在其中运行

export const metadata
useRouter
window
的其他文档不起作用,因为这些文档是客户端的。

node.js next.js
1个回答
0
投票

您可以使用以下函数动态生成元数据:

export async function generateMetadata({ params , searchParams }) {
  return {
    title: '...',
  }
}

您可以访问 params 和 searchParams :https://nextjs.org/docs/app/api-reference/functions/generate-metadata

© www.soinside.com 2019 - 2024. All rights reserved.