Javascript 在Gatsby中创建没有createPages API的变量?
我想知道是否可以在组件模板之外使用CreatePagesAPI创建的变量 我的方案是创建如下变量:Javascript 在Gatsby中创建没有createPages API的变量?,javascript,reactjs,graphql,gatsby,Javascript,Reactjs,Graphql,Gatsby,我想知道是否可以在组件模板之外使用CreatePagesAPI创建的变量 我的方案是创建如下变量: pages.forEach(page => { createPage({ path: `${page.slug}`, component: path.resolve(`src/templates/page-template.js`),
pages.forEach(page => {
createPage({
path: `${page.slug}`,
component: path.resolve(`src/templates/page-template.js`),
context: {
title: page.title // My Variable
},
})
现在,在我的page template.js
文件中,我导入了一个包含外部graphql查询的组件,该查询不包括在page template.js
文件中,但我希望在查询中使用变量
我可以在盖茨比中不使用createPages API的情况下创建变量吗?您可以通过
pageContext
道具来访问该变量。例如:
const YourComponent = ({ pageContext }) =>
<SomeOtherComponent title={pageContext.title} />
constyourcomponent=({pageContext})=>
这假设
SomeOtherComponent
正在针对外部数据库而不是本地Gatsby GraphQL服务器运行此GraphQL查询。非常感谢!这对我帮助很大。