使用 Strapi V4 和 Gatsby 进行 GraphQL 查询过滤
GraphQL query filtering with Strapi V4 and Gatbsy
自从 Strapi 更改为它从不的 V4 结构后,它破坏了我用来根据从 Strapi return编辑的数据创建页面的 V3 查询。
我的 Gatsby-node.js 文件中使用 createPages 功能的代码如下:
const path = require(`path`)
exports.createPages = async ({ graphql, actions }) => {
const { createPage } = actions
const result = await graphql(`
{
allStrapiArticles {
edges {
node {
data {
id
attributes {
title
}
}
}
}
}
}
`)
result.data.allStrapiArticles.edges[0].node.data.forEach(article => {
createPage({
path: `/blog/${article.attributes.title.replace(" ", "_")}`,
component: path.resolve(`src/templates/blog/index.js`),
context: {
id: article.id,
},
})
})
}
然后在页面模板中我使用以下查询,其中我引用作为上下文传入的 id:
export const query = graphql`
query ($id: String!) {
strapiArticles(id: { eq: $id }) {
data {
id
attributes {
title
author
body
}
}
}
}
这似乎是 return 一个未定义的值。
是否有人熟悉如何更改此查询以符合 Strapi 的新结构?
基本上,我试图根据从 Gatsby-node.js
作为上下文传入的 object id 来访问标题、作者和 body 属性
Strapi v4 插件 (gatsby-source-strapi
) 还没有版本 available/compatible,如您在存储库中所见:
⚠️ This version of gatsby-source-strapi
is only compatible with Strapi
v3 at the moment. We are currently working on a v4 compatible version.
也就是说,与此同时,您唯一的机会是回滚到 v3 并等待兼容的插件版本(如果可以的话)。
自从 Strapi 更改为它从不的 V4 结构后,它破坏了我用来根据从 Strapi return编辑的数据创建页面的 V3 查询。
我的 Gatsby-node.js 文件中使用 createPages 功能的代码如下:
const path = require(`path`)
exports.createPages = async ({ graphql, actions }) => {
const { createPage } = actions
const result = await graphql(`
{
allStrapiArticles {
edges {
node {
data {
id
attributes {
title
}
}
}
}
}
}
`)
result.data.allStrapiArticles.edges[0].node.data.forEach(article => {
createPage({
path: `/blog/${article.attributes.title.replace(" ", "_")}`,
component: path.resolve(`src/templates/blog/index.js`),
context: {
id: article.id,
},
})
})
}
然后在页面模板中我使用以下查询,其中我引用作为上下文传入的 id:
export const query = graphql`
query ($id: String!) {
strapiArticles(id: { eq: $id }) {
data {
id
attributes {
title
author
body
}
}
}
}
这似乎是 return 一个未定义的值。
是否有人熟悉如何更改此查询以符合 Strapi 的新结构?
基本上,我试图根据从 Gatsby-node.js
作为上下文传入的 object id 来访问标题、作者和 body 属性Strapi v4 插件 (gatsby-source-strapi
) 还没有版本 available/compatible,如您在存储库中所见:
⚠️ This version of
gatsby-source-strapi
is only compatible with Strapi v3 at the moment. We are currently working on a v4 compatible version.
也就是说,与此同时,您唯一的机会是回滚到 v3 并等待兼容的插件版本(如果可以的话)。