引用 Gatsby 模板中查询中使用的 GraphQL 变量?

Posted

技术标签:

【中文标题】引用 Gatsby 模板中查询中使用的 GraphQL 变量?【英文标题】:Referencing GraphQL variable used in query in Gatsby template? 【发布时间】:2021-11-24 01:45:37 【问题描述】:

我正在汇总标签列表中具有特定标签的所有帖子:


export const Search = graphql`
  query SearchResults($tag: String = "") 
    allMarkdownRemark(filter:  frontmatter:  tags:  in: [$tag]   ) 
      nodes 
        frontmatter 
          title
          date
        
      
    
  
`

查询效果很好,但我还希望能够动态显示正在查询的标签。我该如何传递这些信息?

例如:标签的搜索结果:Java,这将是 graphql 查询中 $tag 内的值。

我试图从 URL 中提取,但它是在节点中呈现的,所以我无法访问窗口对象,而且感觉有点 hacky。

【问题讨论】:

【参考方案1】:

我明白了。传入props.pageContext 可让您访问通过 gatsby-node 传入的上下文信息。

【讨论】:

以上是关于引用 Gatsby 模板中查询中使用的 GraphQL 变量?的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 Gatsby 页面查询中的对象数据

如何选择性地查询 gatsby Contentful Rich Text 中的引用?

如何在 Gatsby 的模板组件中访问上下文变量?

React Gatsby Graph QL - 过滤站点地图的文章

使用查询变量时出现 Gatsby 运行时错误

Gatsby 和 GraphQL:访问模板页面中的数据