【问题标题】:NextJS Link isn't rendering an anchor tagNextJS Link 没有呈现锚标记
【发布时间】:2021-06-09 20:37:06
【问题描述】:

我正在使用 React + NextJS,我正在尝试呈现产品列表,就像您在典型的电子商务类别页面上看到的那样。每个产品都在一个p 中,p 应该链接到相应的详细信息页面(因此它应该被一个锚点 a 标记包围)。

不幸的是,这些链接可以正常工作,但它们不会呈现实际的锚标记。谁能解释我错过了什么?

场景 A:普通文本链接(按预期工作)


输入:

<Link href="wherever">word holmes</Link>

输出:

<a href="wherever">word holmes</a>

场景 B:链接任意块


输入:

<Link href="wherever">
    <p>word holmes</p>
</Link>

输出:

<p>word holmes</p>

想要的输出:

<a href="wherever"><p>word holmes</p></a>
  • &lt;a /&gt; 标签去哪儿了??
  • 将鼠标悬停在该块上不会获得指针光标,但单击它确实会将您带到href 目标

场景 C:将我自己的 a 添加到任何内容的块中


输入:

<Link href="wherever">
    <a>
        <p>word holmes</p>
    </a>
</Link>

输出:

<a href="wherever"><p>word holmes</p></a>
  • 好吧,这行得通,但感觉很hacky..
  • 为什么会这样?这是“正确”的做法吗?

【问题讨论】:

    标签: javascript reactjs next.js


    【解决方案1】:

    根据https://github.com/vercel/next.js/blob/canary/packages/next/client/link.tsxa标签如果孩子是一个字符串会自动添加。否则它只会返回孩子。因此,在您的情况下,孩子是p 标签,这就是返回的全部内容。似乎您可以将其包装在 a 标记中,这应该可以工作。

    【讨论】:

    • 谢谢@Bafsky,我没想到要检查来源,好主意:)
    猜你喜欢
    • 1970-01-01
    • 2020-02-22
    • 2022-08-09
    • 2019-10-07
    • 2019-02-06
    • 1970-01-01
    • 2011-07-10
    • 2021-05-22
    • 1970-01-01
    相关资源
    最近更新 更多