ButterCMS: неизвестное поле в RootQueryType - PullRequest
0 голосов
/ 02 сентября 2018

Здравствуйте, я пытаюсь запросить данные в Gatsby из ButterCMS, следуя документации в gatsby-source-buttercms (https://www.gatsbyjs.org/packages/gatsby-source-buttercms/#gatsby-source-buttercms)., но получил ошибку «неизвестное поле allButterJob на RootQueryType». Я не знаю, что я сделал не так. Кто-то, пожалуйста, посмотрите на это для меня. Вот мой gatsby-config.js:

module.exports = {
  siteMetadata: {
    title: 'Gatsby Default Starter',
  },
  plugins: [
    'gatsby-plugin-react-helmet',
    {
      resolve: 'gatsby-source-buttercms',
      options: {
        authToken: '2a926fdcab34e736332a54e24649cedbaf5d0e89',
        contentFields: {
          keys: [ // Comma delimited list of content field keys.
            'job',
            'news'
          ],
          test: 0 // Optional. Set to 1 to enable test mode for viewing draft content.
        }
      }
    }
  ],
}

Вот где я сделал запрос:

import React                 from 'react'
import Link                  from 'gatsby-link'
import HeaderlineSection from '../components/headerlineSection'
import FeatureSection    from '../components/featureSection'
import TeamSection         from '../components/teamSection'
import NewsSection         from '../components/newsSection'
import CareerSection     from '../components/careerSection'

const IndexPage = ({data}) => (
  <div>
    <HeaderlineSection />
    <FeatureSection />
    <TeamSection />
    <NewsSection />
    <CareerSection /> 
    {console.log(data)}
  </div>
)

export default IndexPage

export const query = graphql`
  query IndexPageQuery{
    allButterJob{
      edges{
        node{
          id
          title
        }
      }
    }
  }
`

1 Ответ

0 голосов
/ 05 сентября 2018

RootQueryType - это «элемент» верхнего уровня в вашей схеме GraphQL (Gatsby v1 устанавливает это). Таким образом, релевантная часть ошибки здесь - «неизвестное поле allButterJob», что само собой разумеется: поле / тип, который вы пытаетесь запросить, не существует на верхнем уровне.

Вполне вероятно, что он там под другим именем. Обычно я захожу в Graphiql (localhost: 8000 / ___ graphql, если вы запускаете gatsby develop под стандартным портом), где вы увидите что-то подобное на боковой панели (нажмите на ссылку Docs, если она не отображается):

enter image description here

Отсюда вы можете нажать «Запрос», чтобы углубиться в него. ( Обратите внимание, что этот снимок экрана взят из приложения Gatshy v2, поэтому вместо RootQueryType он просто указан как Query. ). В результате появится список полей, доступных в Query (или в вашем случае RootQueryType) это выглядит примерно так:

enter image description here

В этом примере allSitePage - это поле верхнего уровня, доступное для запроса, например:

query AnythingYouLikeHere {
  allSitePage {
    edges {
      node {
        path
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...