typescript 我在GraphQL查询中找不到Strapi嵌套组件

myss37ts  于 2023-08-07  发布在  TypeScript
关注(0)|答案(1)|浏览(144)

我对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插件。

w8biq8rn

w8biq8rn1#

Strapi不允许双重嵌套组件。至少在几个月前(2023年上半年)是这样的。但是如果你已经设法“破解”了.json文件并允许它,那么:你忘记了GraphQL查询中的项目。

相关问题