在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
的钩子吗?
答案 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
。