【发布时间】:2020-09-10 14:11:58
【问题描述】:
我正在构建一个动态 gatsby 应用程序,用户可以在其中登录并查看类别列表,以及每个类别的产品列表。当用户点击一个类别时,我想通过 graphQL 查询动态呈现相关产品。我想如何做到这一点是通过从 URL 中获取类别 slug 并将其传递给 graphQL 查询,但是当我传递变量时我不断收到错误。
我在下面粘贴了我的查询,没有变量。我想要一个变量 ${slug} 而不是“无服务器”。
export const query = graphql`
{
fauna {
slugMap (slug: "serverless"){
data{
name
companies{
data{
name
website
description
}
}
}
}
}
}
`
Gatsby-node.js
exports.onCreatePage = async ({ page, actions }) => {
const { createPage } = actions
// Only update the `/app` page.
if (page.path.match(/^\/map/)) {
// page.matchPath is a special key that's used for matching pages
// with corresponding routes only on the client.
page.matchPath = "/map/*"
// Update the page.
createPage(page)
}
}
【问题讨论】:
标签: javascript reactjs graphql gatsby