Quiero createPage una página en función de algunas consultas que estoy usando, esta es mi consulta en mi gatsby-node.js :
{ allPrismicLastPosts { nodes { data { blogs { blog { document { ... on PrismicBlog { uid } ... on PrismicCulture { uid } } } } } } } } allPrismicMainBlogs { nodes { data { blogs { blog { document { ... on PrismicBlogMain { uid } } } } } } } } lo que quiero de esta consulta es el campo uid , y dado que esta consulta devuelve este formato JSON:
allPrismicMainBlogs": { "nodes": [ { "data": { "blogs": [ { "blog": { "document": { "uid": "main02", . . . } He intentado esto para obtener el uid :
postPages.data.allPrismicLastPosts.nodes.forEach((page) => { page.data.blogs.forEach((article)=> { createPage({ path: article.blog.document.data.uid, component: path.resolve(__dirname, 'src/templates/post.js'), context: { id: page.id, }, }) } ) }) No puedo obtener el uid porque estoy usando allPrismicLastPosts pero en su lugar quiero todas las consultas, entonces, ¿cómo puedo solucionar esto para mostrar todo el uid
Creo que estás intentando acceder directamente a:
article.blog.document.uidAplicado a su código:
postPages.data.allPrismicLastPosts.nodes.forEach((page) => { page.data.blogs.forEach((article) => { createPage({ path: article.blog.document.uid, component: path.resolve(__dirname, "src/templates/post.js"), context: { id: page.id, }, }); }); });