【发布时间】:2018-02-11 16:38:21
【问题描述】:
我想在使用 gatsbyjs 时以变量的形式将数据传递到我的 react 组件中
我可以在不同的 URL 处生成页面,但我希望每个页面都可以访问 GraphQL 查询之外的数据。我知道上下文已传递给 GraphQL,但我不想这样做。
例如,使用它我可以使用反应组件创建一个名为 localhost/my-page 的页面。但是在组件内部,我使用 AJAX 从另一台服务器获取数据,并且需要将搜索查询传递给创建页面内的道具。
请问我该怎么做?
const path = require('path');
exports.createPages = ({ boundActionCreators }) => {
const { createPage } = boundActionCreators
const component = path.resolve('src/pages/demo-photos.js')
const pages = [ 'one' ].map(name => ({
id: `page-${name}`,
path: `/${name}`,
component,
layout: `index`,
context: {
searchtag: `${name}`, // I WANT THIS AVAILABLE INSIDE MY REACT COMPONENT
}
}))
pages.map(p => createPage(p))
}
【问题讨论】:
-
searchtag应该作为props.pathContext.searchtag进入您的组件。不是吗? -
pathContext 就像魅力一样。拯救了我的一天。谢谢:)
-
您好,您能举个例子说明一下您是如何使用 pathContext 的吗?