Я пытался возвратить FeaturedImage из frontmatter последней записи в категории.
Вот запрос graphql, который я сейчас написал:
query catList {
allMdx(sort: { fields: frontmatter___date, order: DESC }) {
group(field: frontmatter___themes, limit: 1) {
fieldValue
totalCount
nodes {
frontmatter {
featuredImage {
childImageSharp {
fixed(width: 400, height: 400) {
...GatsbyImageSharpFixed
}
}
}
}
}
}
}
}
Запрос возвращает именно то, что я хочу в редакторе graphql, однако, когда я пытаюсь получить доступ к featuredImage в моих компонентах, я получить сообщение об ошибке:
"Ошибка типа: невозможно прочитать свойство 'featuredImage' из неопределенного"
Полный код страницы и компонентов:
const CatPage = () => (
<StaticQuery
query={graphql`
query themeList {
allMdx(sort: { fields: frontmatter___date, order: DESC }) {
group(field: frontmatter___themes, limit: 1) {
fieldValue
totalCount
nodes {
frontmatter {
featuredImage {
childImageSharp {
fixed(width: 400, height: 400) {
...GatsbyImageSharpFixed
}
}
}
}
}
}
}
}
`}
render={data => (
<Layout>
<Gallery>
{data.allMdx.group.map(theme => (
<GalleryCard to={theme.fieldValue} title={theme.fieldValue}>
<Img
fixed={
theme.nodes.frontmatter.featuredImage.childImageSharp.fixed
}
/>
</GalleryCard>
))}
</Gallery>
</Layout>
)}
/>
)
Цель здесь - сделать так, чтобы изображение из самого последнего поста с каждой категорией было изображением обложки для этой категории, но у меня возникают трудности с получением изображения для рендеринга!