[英]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.