【发布时间】:2020-03-27 04:28:29
【问题描述】:
我有以下文件夹结构
/images
/images/pic1.jpg
/images/pic2.jpg
使用以下 GraphQL 查询时..
query MyQuery1 {
file(sourceInstanceName: {eq: "images"}, name: {eq: "pic1"}) {
name
publicURL
}
}
可以使用<img src={data.file.publicUrl} alt="" /> 之类的方式访问结果。到目前为止,一切都很好。
但现在我想通过一个查询从该文件夹中检索多个图像。所以我想出了以下内容:
query {
allFile(
filter: {
sourceInstanceName: { eq: "images" }
name: { in: ["pic1", "pic2"] }
}
) {
nodes {
name
publicURL
}
}
}
太棒了!但是,我现在如何无需使用map 或遍历结果就可以访问其中一张图片?
我正在寻找这样的东西,这当然行不通:
<img src={data.file.publicUrl name.eq="pic1"} alt="pic1"/>
也不是这样的:
<img src={data.allFile.nodes.0.publicUrl} alt="pic1" />
我想使用gatsby-image 来优化和调整我的图像大小。这就是我选择 GraphQL 方式而不是直接导入的原因。我在错误的轨道上吗?
【问题讨论】:
标签: graphql gatsby graphql-js gatsby-image