我实际上是使用pages/_document.js
钩子将Bootstrap
和jQuery
添加到我的页面中,顺便设置<Head>
export default class MyDocument extends Document {
render() {
return (
<html>
<Head>
<title>Default title</title>
<link rel="stylesheet" href="/static/lib/bootstrap3/css/bootstrap.min.css" />
</Head>
<body>
<Main/>
<NextScript/>
<script src="/static/lib/jquery3/jquery-3.3.1.min.js" />
<script src="/static/lib/bootstrap3/js/bootstrap.min.js" />
</body>
</html>
)
}
}
现在我想为我的页面设置一个不同的标题。是否可以在Document
之外使用<Head>
?在<div>
中是这样的:
const ContactPage = () => {
return (
<div>
<Head>
<title>You better contact us!</title>
</Head>
<div className="page-body">...</div>
</div>
)
}
如果可能的话,它会覆盖或合并pages/_document.js
中已经设置的内容吗?
2条答案
按热度按时间k97glaaz1#
您希望使用
next/head
组件:参见文档:https://nextjs.org/docs/api-reference/next/head
mrwjdhj32#
***在NextJs 13中使用app目录***你不再需要使用
'next/head'
组件,你需要做的是,只需要定义一个导出的对象,无论是在layout.js
还是page.js
中,保持标题*静态,如下面的示例或者如果你需要一个动态标题,你可以使用
generateMetadata
函数来获取你需要的东西,就像下面的例子。参考Config-based Metadata