我想使用Gatsby来建立自己的网站。这是第一次使用graph-ql,我使用Gatsby提供的graph-ql ide进行了查询,以收集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
的所有子字段。我的子字段和查询语句出了什么问题?
这是存储在gatsby-config.js
中的有关siteMetadata的原始数据。
module.exports = {
siteMetadata: {
title: `Gatsby Typewriter theme`,
description: `Demo page of Gatsby Typewriter theme`,
author: {
name: 'dodok8',
summary: 'student',
},
},
答案 0 :(得分:1)
问题不在我写的查询中,基本查询在componets/seo.js
中。如果您不编辑此文件,则在第13行有一个查询,
graphql`
query {
site {
siteMetadata {
title
description
author
}
}
}
`
);
在我的情况下,我向author添加了子字段,因此我应该将其更改为
graphql`
query {
site {
siteMetadata {
title
description
author {
name
summary
}
}
}
}
`
);