Несмотря на то, что вы создали объект изображения с полем url
в Strapi, Strapi + Gatsby загружает его, и вы должны немного изменить свой запрос.
На этом этапе все ваши изображения принадлежат gatsby-source-filesystem
, поэтому их нужно запрашивать другим способом. Конечно, вы можете получить url
, но ваша структура данных может отличаться от той, которую вы создали в бэк-офисе Strapi. Другими словами, поле, которое вы ищете, находится внутри другого объекта, в этом случае publicURL
будет содержать ваше желаемое значение url
. Вот пример того, как получить одно или несколько изображений:
singleImage {
publicURL
}
multipleImages {
localFile {
publicURL
}
}
Ссылка: https://github.com/strapi/gatsby-source-strapi
Взгляните на автозаполнение когда вы запускаете разработку gatsby под localhost:8000/___graphql
игровую площадку для тестирования своего запроса GraphQL, это может помочь вам получить нужные поля.
В этом руководстве также указаны некоторые интересные вещи.
Если вы хотите использовать изображение на основе gatsby-image
, вы можете использовать:
image {
childImageSharp {
fluid(maxWidth: 960) {
...GatsbyImageSharpFluid
}
}
}
Затем его следует использовать в al oop что-то вроде (с использованием gatsby-image
) :
<Img fluid={data.allStrapiArticle.edges[position].index.image.childImageSharp.fluid} />