Gatsby Graph-ql ошибка выбора подполей - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь создать свой собственный сайт, используя Гэтсби. Впервые использовать graph-ql, я сделал запрос с graph-ql ide, который Gatsby обслуживает для сбора SiteMeatadata

  const data = useStaticQuery(graphql`
    query SiteInformationQuery {
      __typename
      site {
        siteMetadata {
          author {
            name
            summary
          }
          title
          description
        }
      }
    }
  `);

Я предсказал, что он вернется как

{
  "data": {
    "site": {
      "siteMetadata": {
        "title": "Gatsby Typewriter theme",
        "author": {
          "name": "dodok8",
          "summary" : "student"
        }
      }
    }
  }
}

Но это допустил ошибку.

 ERROR #85901  GRAPHQL

There was an error in your GraphQL query:

Field "author" of type "SiteSiteMetadataAuthor" must have a selection of subfields. Did you mean "author { ... }"?

File: src\components\seo.js:21:13

Но я запросил все подфайлы author в запросе. Что не так с моими подполями и предложением запроса?

Это необработанные данные о siteMetadata, хранящиеся в gatsby-config.js.

module.exports = {
  siteMetadata: {
    title: `Gatsby Typewriter theme`,
    description: `Demo page of Gatsby Typewriter theme`,
    author: {
      name: 'dodok8',
      summary: 'student',
    },
  },

1 Ответ

0 голосов
/ 04 апреля 2020

Проблема не в запросе, который я написал, в основном c запрос в componets/seo.js. В строке 13 есть запрос, если вы не редактируете этот файл,

    graphql`
      query {
        site {
          siteMetadata {
            title
            description
            author
          }
        }
      }
    `
  );

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

    graphql`
      query {
        site {
          siteMetadata {
            title
            description
            author {
              name
              summary
            }
          }
        }
      }
    `
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...