Гэтсби и содержательные запросы - PullRequest
0 голосов
/ 23 января 2019

Мне сложно найти документацию, которая точно описывает, как использовать плагин "gatsby-source-contentful" и запрашивать данные из содержательного API. У меня все настроено в файле gatsby-config.js и ошибок при запуске нет. Мне интересно, как начать делать эти звонки. Я посмотрел на путь / ___ graphql и не вижу параметров запроса, связанных с содержательным.

Любая информация будет принята с благодарностью.

Это мои данные конфигурации для плагина

{
   resolve: `gatsby-source-contentful`,
   options: {
     spaceId: keys.spaceId,
     accessToken: keys.accessToken,
   },
},

1 Ответ

0 голосов
/ 23 января 2019

Кажется, что ваш файл gatsby-config в порядке (если ваш accessToken действителен, ошибки там нет).Попробуйте этот пример запроса, чтобы получить данные из Contentful:

export const pageQuery = graphql`
  query HomeQuery {
    allContentfulBlogPost(sort: { fields: [publishDate], order: DESC }) {
      edges {
        node {
          title
          slug
          publishDate(formatString: "MMMM Do, YYYY")
          tags
          heroImage {
            sizes(maxWidth: 350, maxHeight: 196, resizingBehavior: SCALE) {
             ...GatsbyContentfulSizes_tracedSVG
            }
          }
          description {
            childMarkdownRemark {
              html
            }
          }
        }
      }
    }
    allContentfulPerson(filter: { id: { eq: "c15jwOBqpxqSAOy2eOO4S0m" } }) {
      edges {
        node {
          name
          shortBio {
            shortBio
          }
          title
          heroImage: image {
            sizes(
              maxWidth: 1180
              maxHeight: 480
              resizingBehavior: PAD
              background: "rgb:000000"
            ) {
              ...GatsbyContentfulSizes_tracedSVG
            }
          }
        }
      }
    }
  }
`

Внутри страницы вы можете получить доступ к данным следующим образом:

const siteTitle = this.props.data.site.siteMetadata.title;
const posts = this.props.data.allContentfulBlogPost.edges;
const [author] = this.props.data.allContentfulPerson.edges;
...