Доступ к элементам Frontmatter в групповом запросе graphql - PullRequest
0 голосов
/ 07 марта 2020

Я пытался возвратить 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>
    )}
  />
)

Цель здесь - сделать так, чтобы изображение из самого последнего поста с каждой категорией было изображением обложки для этой категории, но у меня возникают трудности с получением изображения для рендеринга!

...