【发布时间】:2019-10-02 14:29:12
【问题描述】:
我正在使用 gatsby.js 构建一个投资组合网站。所有照片都发布在 wordpress 中,由 graphQL 获取并呈现到网站。
我正在尝试使用引导网格来组织照片并使其具有响应性,但由于 graphQL 返回一个包含从 wordpress 帖子中获取的所有图像的数组,因此我无法设置 class='row' 的 div 为 I' m 使用 array.map。而且我不知道怎么解决。
从 graphQL 我将分辨率设置为宽度 = 300 像素和高度 = 300 像素。
这是我发现组织尺寸的唯一方法,只要我不能使用类行并且所有图像都被视为一行。问题是照片尺寸没有响应,所以总是300X300...
我想要一种让它成为网格系统的方法,因为它应该可以工作......所以当我调整窗口大小时,所有照片都会被组织和调整大小。
const IndexPage = () => {
const data = useStaticQuery(graphql`
query {
allWordpressPost {
edges {
node {
title
featured_media {
localFile {
childImageSharp {
resolutions(width: 300, height: 300) {
src
width
height
}
}
}
}
}
}
}
}
`);
const imagesResolutions = data.allWordpressPost.edges.map(
(edge) => edge.node.featured_media.localFile.childImageSharp.resolutions
);
return (
<Layout>
<Jumbotron />
<div className="container">
<h1 className="my-5 text-center">Portfolio</h1>
{imagesResolutions.map((imageRes) => (
<Img className="col-sm-6 col-lg-4 img-rounded img" resolutions={imageRes} key={imageRes.src} />
))}
</div>
</Layout>
);
};
【问题讨论】:
-
你解决了吗?
-
@ksav 我刚刚尝试过,它成功了!非常感谢
标签: wordpress reactjs bootstrap-4 graphql gatsby