【发布时间】:2019-10-03 02:36:38
【问题描述】:
我正在使用 Gatsby + Wordpress 为我构建投资组合网站。我想知道是否可以将投资组合项目的名称和与之相关的图像悬停在上面?
我知道如果PortfolioItemNameLink 悬停它会显示来自同一项目的图像。如何检查悬停的项目?
const PortfolioItemsText = () => {
return (
<StaticQuery
query={graphql`
{
allWordpressWpPortfolio {
edges {
node {
id
slug
title
excerpt
content
featured_media {
source_url
}
}
}
}
}
`}
render={props => (
<Wrapper>
<PortfolioImageWrapper>
{props.allWordpressWpPortfolio.edges.map(edge => (
<PortfolioImage
src={edge.node.featured_media.source_url}
alt="Thumbnail"
/>
))}
</PortfolioImageWrapper>
<PortfolioItemsWrapper>
<PortfolioItems>
{props.allWordpressWpPortfolio.edges.map(portfolioItem => (
<PortfolioItem
style={currentStyle}
key={portfolioItem.node.id}
>
<PortfolioItemNameLink
to={`/portfolio/${portfolioItem.node.slug}`}
>
<PortfolioItemNameLinkText>
{portfolioItem.node.title}
</PortfolioItemNameLinkText>
</PortfolioItemNameLink>
</PortfolioItem>
))}
</PortfolioItems>
</PortfolioItemsWrapper>
</Wrapper>
)}
/>
)
}
export default PortfolioItemsText
这是我项目的截图。当我悬停标题时,我会看到正确的图像,否则图像应该不可见。
提前致谢!
【问题讨论】:
-
通过在迭代时为每个项目分配一个唯一的
key -
我向
PortfolioItem和PortfolioImage添加了密钥。我如何使用它来获取属于悬停标题的图像? -
或者我如何从我悬停的项目中获取数据?前任。如果我悬停
portfolioItem.node.title是Sample1 的项目,我想获得相同项目的portfolioItem.node.slug。通过这样做,我想我可以在标题悬停时以某种方式设置正确的图像。 -
能否制作代码沙箱示例?