reactjs - 如何在 Gatsby 的模板组件中访问上下文变量?
问题描述
在 Gatsby 应用程序的反应组件中,我了解如何在 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 参考资料,但没有任何问题。感觉获得这个值应该很容易,但我想知道是否需要使用getContext
钩子之类的东西?
解决方案
10 分钟的小睡可以做的事情真是太神奇了!实际上,您可以使用此处详述的 pageContext 属性访问上下文变量:https ://www.gatsbyjs.org/docs/creating-and-modifying-pages/#creating-pages-in-gatsby-nodejs
const TagPage = ({ data, classes , pageContext}) => {
将 pageContext 添加到我的道具允许我访问$tag
.
推荐阅读
- php - MySQL 在 foreach 中插入仅被调用一次
- python - 如何让 pyspark 使用自定义 python?
- xamarin - Mono 执行环境和 ART 之间有什么关系?
- ajax - Spring Rest 服务返回类型
- android - 为什么我的数据类给出空值,除非我对其应用默认值?
- php - 将年份 + 自动递增显示为列寄存器
- javascript - 如何在类型脚本中编写正则表达式以接受 0 到 1000 的值
- python - 查找表时出现查找表未初始化错误
- swift - 如何解决此问题:“UIScrollView”类型的值没有成员文本
- c++ - 使用 cmake 构建比特币