为啥在 nextjs 链接中使用标签?

Posted

技术标签:

【中文标题】为啥在 nextjs 链接中使用标签?【英文标题】:Why using a tag in nextjs Link?为什么在 nextjs 链接中使用标签? 【发布时间】:2020-11-29 03:38:07 【问题描述】:

发现 NextJs,我想知道为什么在创建链接时需要 a 标签。 按照教程,我们有这个例子:

<Link href="/"><a>Back to home</a></Link>

但即使没有&lt;Link href="/"&gt;Back to home&lt;/Link&gt; 之类的标签,该链接也能正常工作。

这个a标签的目的是什么?是不是跟 Link 组件是多余的?

【问题讨论】:

【参考方案1】:

用于语义 html 和 SEO

这为您呈现的 html 提供了正确的语义。这将有助于您的网站的所有 SEO。您可以在文档here 中查看示例和完整说明。

如果 Link 的子组件是自定义的封装了标签的组件,则必须在 Link 中添加 passHref。如果您使用样式组件等库,这是必要的。没有这个,标签将没有 href 属性,这可能会损害您网站的 SEO。

【讨论】:

以上是关于为啥在 nextjs 链接中使用标签?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我应该使用“下一个/图像”?

如何在 NextJS 中更新 <Image /> 标签的 src 而无需重新渲染整个组件

为啥使用 Docker 容器的 NextJS 在更改开发环境的代码后没有重新加载?

为啥 NextJS 中的 ApolloGraphQL 示例使用 getStaticProps 而不是 getServerSideProps

为啥我从托管在 Firebase 上的 NextJs 应用程序仅针对 POST 请求收到“502 网关”错误?

无法使用样式组件的 Nextjs 组件(链接)