在Next.js 13
的app
目录中,我在官方文档中看到他们已经放弃了旧的head方法而转而使用元数据,我认为它只能在页面或布局上使用。
我想根据状态值更改标题,我该怎么做? 元数据中的对象位于组件外部,因此我无法引用它。
import type { Metadata } from 'next'; export const metadata: Metadata = { title: 'Home', description: 'Welcome to Next.js', }; export default function Page() { return '...'; }
如果您所说的“状态”是指与“useState”类似的东西,那么这是不可能的。因为
metadata
仅适用于服务器组件,而useState
只能在客户端组件中使用。文档说: p>对于普通页面,您通常知道要返回哪些元数据,因此
元数据
对象应该足够了。如果页面是动态的,则有generateMetadata
:下面是动态设置标题的示例: