Next.js 你能有多个加法';头部';NextJS中的元素?
我希望能够在Next.js 你能有多个加法';头部';NextJS中的元素?,next.js,Next.js,我希望能够在\u document.js中有一个“master”HEAD元素,并且对于某些页面,有一个额外的HEAD元素添加到“master”中。从表面上看,这似乎是可能的 然而,当在Stack Overflow中搜索答案时,我发现,这似乎表明这可能导致意外的结果 如果我不能有多个HEAD元素,我是否需要通过getInitialProps从单个页面传递数据?当您需要对其进行操作时,您可以简单地将next/HEAD导入任何页面/组件 例如: import Head from 'next/head'
\u document.js
中有一个“master”HEAD
元素,并且对于某些页面,有一个额外的HEAD
元素添加到“master”中。从表面上看,这似乎是可能的
然而,当在Stack Overflow中搜索答案时,我发现,这似乎表明这可能导致意外的结果
如果我不能有多个
HEAD
元素,我是否需要通过getInitialProps
从单个页面传递数据?当您需要对其进行操作时,您可以简单地将next/HEAD
导入任何页面/组件
例如:
import Head from 'next/head'
function IndexPage() {
return (
<div>
<Head>
<title>My page title</title>
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
</Head>
<p>Hello world!</p>
</div>
)
}
export default IndexPage
到目前为止,我没有遇到任何问题
但要记住的是:
卸载组件后,head的内容将被清除,因此请确保每个页面都完全定义了它在head中所需的内容,而不必对其他页面添加的内容进行假设。库的目的是,它可以像您所怀疑的那样添加。你链接到的帖子似乎很迷信;作者没有提供具体的证据,只是猜测,他们显然也没有表现出对他们观察到的行为的理解。
import Document, { Head, Main, NextScript } from 'next/document';
export default class MyDocument extends Document {
render() {
return (
<html lang="en">
<Head>
<link rel="shortcut icon" href="/favicon.ico" />
</Head>
<body>
<Main />
<NextScript />
</body>
</html>
);
}
}