如何在 React 中隐藏带有内联条件样式的 link?
How can I hide a link with inline conditional styling in react?
我现在正在构建我的作品集,我想在 href 为空时隐藏我的项目的下载 link
<GridContainer>
{projects.map(({id, image, title, description, tags, source, visit, pdf}) =>
<BlogCard key={id}>
<div>
<Img src={image} style={{alignContent:"flex-start", display:"flex"}}/>
<br/>
<TitleContent>
<HeaderThree title>{title}</HeaderThree>
<Hr />
</TitleContent>
<CardInfo>{description}</CardInfo>
</div>
<div >
<br/>
<TitleContent>Technologies utilisées :</TitleContent>
<TagList>
{tags.map((tag, i) => (
<Tag key ={i}>{tag}</Tag>
))}
</TagList>
<UtilityList>
<ExternalLinks href={source}>Code</ExternalLinks>
<ExternalLinks href={pdf} download >PDF</ExternalLinks>
<ExternalLinks href={visit}>Live</ExternalLinks>
</UtilityList>
</div>
</BlogCard>
)}
</GridContainer>
href 导入自:
export const projects = [
{
title: 'test',
description: "test",
image: 'test',
tags: ['PHP', 'MYSQL', 'HTML', 'CSS'],
source: 'https://google.com',
visit: 'https://google.com',
pdf:'#',
id: 0,
},
我像这样从样式组件导入 css:
export const ExternalLinks = styled.a`
color:#d4c0c0;
font-size: 1.6rem;
padding:1rem 1.5rem;
background: #6b3030;
border-radius: 15px;
transition: 0.5s;
&:hover{
background: #801414;
}
`;
想法是仅在 pdf:'#' 时隐藏 PDF ExternalLinks 但我仍然不知道该怎么做那。你能帮帮我吗?
如果您需要有关我的代码的一些详细信息,请告诉我,感谢您的帮助!
您可以使用三元运算符有条件地呈现特定元素,在这种情况下,您的 ExternalLinks
组件将不会呈现,直到满足条件。
{pdf.length > 1 ? <ExternalLinks href={pdf} download >PDF</ExternalLinks> : null}
您可以根据您的数据集更改此条件(pdf.length > 1)
。
您可以在检查 href 的值是否不等于“#”的条件下包装受影响的组件。
{pdf !== "#" ? <ExternalLinks href={pdf}>PDF</ExternalLinks> : null }
我现在正在构建我的作品集,我想在 href 为空时隐藏我的项目的下载 link
<GridContainer>
{projects.map(({id, image, title, description, tags, source, visit, pdf}) =>
<BlogCard key={id}>
<div>
<Img src={image} style={{alignContent:"flex-start", display:"flex"}}/>
<br/>
<TitleContent>
<HeaderThree title>{title}</HeaderThree>
<Hr />
</TitleContent>
<CardInfo>{description}</CardInfo>
</div>
<div >
<br/>
<TitleContent>Technologies utilisées :</TitleContent>
<TagList>
{tags.map((tag, i) => (
<Tag key ={i}>{tag}</Tag>
))}
</TagList>
<UtilityList>
<ExternalLinks href={source}>Code</ExternalLinks>
<ExternalLinks href={pdf} download >PDF</ExternalLinks>
<ExternalLinks href={visit}>Live</ExternalLinks>
</UtilityList>
</div>
</BlogCard>
)}
</GridContainer>
href 导入自:
export const projects = [
{
title: 'test',
description: "test",
image: 'test',
tags: ['PHP', 'MYSQL', 'HTML', 'CSS'],
source: 'https://google.com',
visit: 'https://google.com',
pdf:'#',
id: 0,
},
我像这样从样式组件导入 css:
export const ExternalLinks = styled.a`
color:#d4c0c0;
font-size: 1.6rem;
padding:1rem 1.5rem;
background: #6b3030;
border-radius: 15px;
transition: 0.5s;
&:hover{
background: #801414;
}
`;
想法是仅在 pdf:'#' 时隐藏 PDF ExternalLinks 但我仍然不知道该怎么做那。你能帮帮我吗?
如果您需要有关我的代码的一些详细信息,请告诉我,感谢您的帮助!
您可以使用三元运算符有条件地呈现特定元素,在这种情况下,您的 ExternalLinks
组件将不会呈现,直到满足条件。
{pdf.length > 1 ? <ExternalLinks href={pdf} download >PDF</ExternalLinks> : null}
您可以根据您的数据集更改此条件(pdf.length > 1)
。
您可以在检查 href 的值是否不等于“#”的条件下包装受影响的组件。
{pdf !== "#" ? <ExternalLinks href={pdf}>PDF</ExternalLinks> : null }