我有 16 张图像要以网格格式呈现到网站上。
我为此使用了以下插件:
gatsby-image
gatsby-source-filesystem
gatsby-plugin-sharp
gatsby-transformer-sharp
我阅读了文档,据我所知,它只演示了如何查询单个图像。
例如
import React from "react"
import { graphql } from "gatsby"
import Img from "gatsby-image"
export default ({ data }) => (
<div>
<h1>Hello gatsby-image</h1>
<Img fixed={data.file.childImageSharp.fixed} />
</div>
)
export const query = graphql`
query {
file(relativePath: { eq: "blog/avatars/kyle-mathews.jpeg" }) {
childImageSharp {
# Specify the image processing specifications right in the query.
# Makes it trivial to update as your page's design changes.
fixed(width: 125, height: 125) {
...GatsbyImageSharpFixed
}
}
}
}
`
但是,如果我有 16 张图像,我将如何处理?编写 16 个单独的查询似乎相当麻烦,将来会难以阅读。
我在引用多个图像的文档中看到了这段代码,但是我在尝试访问图像本身时遇到了麻烦。
例如
export const squareImage = graphql`
fragment squareImage on File {
childImageSharp {
fluid(maxWidth: 200, maxHeight: 200) {
...GatsbyImageSharpFluid
}
}
}
`
export const query = graphql`
query {
image1: file(relativePath: { eq: "images/image1.jpg" }) {
...squareImage
}
image2: file(relativePath: { eq: "images/image2.jpg" }) {
...squareImage
}
image3: file(relativePath: { eq: "images/image3.jpg" }) {
...squareImage
}
}
`
我的文件夹结构如下:
---package.json
---源代码
- - - 图片
---------16张图片
------页面
---------我想在其中渲染 16 个图像的页面
等等。
谢谢你。