我对Strapi和GraphQL非常陌生。我在Strapi中创建了一个嵌套的数据结构,看起来像this(这是一个Navbar组件)。但是当我使用GraphQL时,查询看起来像this。
如果这是查询:
query MyQuery {
allStrapiNavbar {
nodes {
Category {
Name
children {
id
}
}
}
}
}
字符串
这就是结果:
{
"data": {
"allStrapiNavbar": {
"nodes": [
{
"Category": [
{
"Name": "Community",
"children": []
},
{
"Name": "Modules",
"children": []
},
{
"Name": "Company",
"children": []
},
{
"Name": "Pricing",
"children": []
}
]
}
]
}
},
"extensions": {}
}
型
这意味着数据被正确提取。但是,我在“Category”中找不到嵌套组件“Item”。
下面是我的gatsby-config.ts文件当前的样子:
{
resolve: "gatsby-source-strapi",
options: {
apiURL: process.env.STRAPI_API_URL || "http://localhost:1337",
queryLimit: 1000, // Default to 100
accessToken: process.env.STRAPI_TOKEN,
collectionTypes:[ 'faq', 'doc', 'docCategory', 'faqCategory', 'release', 'userType' ],
// contentTypes: [ 'Faq' ],
singleTypes: [ 'navbar' ],
},
型
我不知道为什么数据没有显示在GraphQL中。我查看了孩子们内部的Category,但实际情况是它应该与Name处于同一级别,Name显示出来。我是否需要修改gatsby-config文件,或者我是否遗漏了其他内容?
编辑:我正在使用gatsby-source-strapi插件。
1条答案
按热度按时间w8biq8rn1#
Strapi不允许双重嵌套组件。至少在几个月前(2023年上半年)是这样的。但是如果你已经设法“破解”了.json文件并允许它,那么:你忘记了GraphQL查询中的项目。