简体   繁体   English

nextjs 一个没有 class 的标签

[英]nextjs a tag not having a class

I currently have this code我目前有这个代码

import Link from "next/link";

const renderMenuList = (title, items, headerPath) => {
    const HeaderTag = headerPath ? Link : "span";
    if (items !== undefined && items.length === 0) {
      return null;
    }
    return (
      <div className="sidebar_menu">
        <HeaderTag href={headerPath} className="sidebar-title">
          {title}
        </HeaderTag>
        <ul className="nav-menu">{items && items.map(renderItem)}</ul>
      </div>
    );
  };

 const renderHome = () => {
    return renderMenuList("Home", undefined, paths.index);
  };

const renderNewReleases = () => {
    return renderMenuList("New Releases", newReleases);
  };

code output for renderHome is renderHome 的代码 output 是

<div class="sidebar_menu">
 <a href="/">Home</a>
 <ul class="nav-menu"></ul>
</div>

code output for renderNewReleases is renderNewReleases 的代码 output 是

<div class="sidebar_menu">
     <span class="sidebar-title">Home</span>
     <ul class="nav-menu"></ul>
</div>

Therefore my question is why does my a tag not have the class name "sidebar-title", whereas the span tag does.因此我的问题是为什么我a标签没有 class 名称“sidebar-title”,而span标签有。 I want both to have the same class name.我希望两者都具有相同的 class 名称。

As @Drew Reese points out: Link is merely a wrapper and does not have a className attribute正如@Drew Reese 指出的那样: Link 只是一个包装器,没有 className 属性

Try:尝试:

({href,className,children}) => <Link href={href}> <a className={className}> {children} </a> </Link>

instead of Link而不是链接

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM