我有一组json数据,它们返回一个对象数组。我正在使用此数组创建页面,因此在每个页面中,我只希望能够绘制该页面中所需的对象的图形,但是我正为此而努力。
在我的页面中,我想执行以下查询操作:
export const query = graphql`
query shopkeeperQuery($skname: String!) {
allDataJson {
edges {
node {
shopkeepers(where: { name: { eq: $skname } }) {
name
city
cards
}
}
}
}
}
`
在gatsby-node.js中,我正在创建如下页面:
exports.createPages = ({ graphql, boundActionCreators }) => {
const { createPage } = boundActionCreators;
return new Promise((resolve, reject) => {
graphql(`
{
allDataJson {
edges {
node {
shopkeepers {
name
city
cards
}
}
}
}
}`).then(result => {
result.data.allDataJson.edges[1].node.shopkeepers.forEach((sk) => {
createPage({
path: `/shopkeepers/${sk.name.toLowerCase().split(" ").join("-")}`,
component: path.resolve(`./src/pages/shopkeeper.js`),
context: {
skname: sk.name,
},
});
});
resolve();
});
});
};
有没有办法让我错过?