首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >变量/参数不适用于graphql查询--我做错了什么?

变量/参数不适用于graphql查询--我做错了什么?
EN

Stack Overflow用户
提问于 2022-04-26 10:54:47
回答 1查看 81关注 0票数 0

背景:我正在使用盖茨比建立一个网站,我也想利用盖茨比头盔插件,以注入头数据到每一页。头盔组件将根据正在呈现的页面加载动态数据。我正在父对象gatsby-config.js中设置siteMetadata文件中的数据。

配置文件如下所示:

代码语言:javascript
运行
复制
module.exports = {
    plugins: [`gatsby-plugin-react-helmet`],
    siteMetadata: {
        pages: [
            {
                id: "home",
                title: "the page title",
                description: "the page description",
            },
        ],
    },
};

我对graphql非常陌生。我正在使用graphql来生成查询,但我不得不考虑如何进行筛选,以便只获取具有特定pagesid对象。我已经阅读了有关变量/参数的文档,但是我显然遗漏了一些东西,因为我只得到了错误。在这一点上,我不知道是我的数据设置不正确,还是图形is遗漏了什么,或者两者都缺少。

无论如何,我真的需要一些帮助。这样我就不会浪费您的时间,如果下面是我的基本查询,我将如何设置它,以便使用变量/参数通过页面id过滤结果?

谢谢!

代码语言:javascript
运行
复制
query MyQuery {
  site {
    siteMetadata {
      pages {
        id
        description
        title
      }
    }
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-26 11:11:53

site筛选器将找到与筛选器匹配的任何站点节点。它不打算像您尝试的那样过滤节点的子字段。

尽管如此,您可以使用GraphQL siteMetadata结果过滤JavaScript:

代码语言:javascript
运行
复制
const pages = data.site.siteMetadata.pages;

pages.filter(pageItem => /* whatever filter you need */);

更多细节:https://github.com/gatsbyjs/gatsby/issues/13989

您可以在您的自己使用模式自定义 API中添加这个“特性”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72012723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档