[英]How to href Link only one element of a .map array inside JSX
我只想有一個 id = 0 的鏈接,並且沒有項目數組中其余元素的超鏈接。 有人可以幫忙嗎,謝謝:)
const Projects = () => (
<Section nopadding id="projects">
<SectionDivider />
<SectionTitle main>Projects</SectionTitle>
<GridContainer>
{projects.map(({ id, image, title, description, tags, source, visit }) => (
<BlogCard key={id}>
<Img src={image} />
<Link href="/campaigns">
<TitleContent>
<HeaderThree title>{title}</HeaderThree>
<Hr />
</TitleContent>
............
...........
);
嘗試以下解決方案
<GridContainer>
{projects.map(({ id, image, title, description, tags, source, visit }) => {
const linkProps = id === 0 ? { href: "/campaigns" } : {}
return (
<BlogCard key={id}>
<Img src={image} />
<Link {...linkProps}>
<TitleContent>
<HeaderThree title>{title}</HeaderThree>
<Hr />
</TitleContent>
</Link>
</BlogCard>
)
})}
</GridContainer>
如果即使沒有 herf 也需要該鏈接,請使用此代碼
<GridContainer>
{projects.map(({ id, image, title, description, tags, source, visit }) => {
const linkProps = id === 0 ? { href: "/campaigns" } : {href: ""}
return (
<BlogCard key={id}>
<Img src={image} />
<Link {...linkProps}>
<TitleContent>
<HeaderThree title>{title}</HeaderThree>
<Hr />
</TitleContent>
</Link>
</BlogCard>
)
})}
</GridContainer>
如果您不需要該鏈接,則它沒有 href 使用此代碼
<GridContainer>
{projects.map(({ id, image, title, description, tags, source, visit }) => {
const linkProps = id === 0 ? { href: "/campaigns" } : ''
return (
<BlogCard key={id}>
<Img src={image} />
{linkProps!=''&& <Link {...linkProps}>
<TitleContent>
<HeaderThree title>{title}</HeaderThree>
<Hr />
</TitleContent>
</Link>}
</BlogCard>
)
})}
</GridContainer>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.