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

时间:2019-06-28 13:42:44

标签: reactjs graphql gatsby

在Gatsby应用程序的react组件中,我了解如何在graphql查询中使用上下文变量,例如:

export const tagPageQuery = graphql`
  query TagPage($tag: String) {
    site {
      siteMetadata {
        title
      }
    }
    allItem(filter: { tags: { in: [$tag] } }) {
      totalCount
      edges {
        node {

          id
          move
          videoUrl

$tag是允许我过滤的字符串。我明白了。但是是否有某种方式可以在组件本身内部访问此值?我可以访问graphql查询获取的数据,但是无法获取Graphql之外的变量。我希望它可以是{context.tag}或类似的东西,以便能够在我的h1中使用该值。我经历过Gatsby GraphQL reference并且没有骰子。感觉获得此值应该很容易,但是我想知道是否需要使用类似getContext的钩子吗?

1 个答案:

答案 0 :(得分:2)

10分钟的小睡可以做什么,真是太神奇了!实际上,您可以使用以下详细介绍的pageContext属性访问上下文变量:https://www.gatsbyjs.org/docs/creating-and-modifying-pages/#creating-pages-in-gatsby-nodejs

const TagPage = ({ data, classes , pageContext}) => {

在道具中添加pageContext可以访问$tag