【问题标题】:Building a Gatsby blog connected to Contentful CMS构建连接到 Contentful CMS 的 Gatsby 博客
【发布时间】:2023-03-18 04:05:01
【问题描述】:

所以,我遇到的问题真的让我很困惑。我可以从 Contentful 字段访问变量,但我不能访问与第一个字段相同的其他 4 个字段,它们都位于相同的内容模型中。这是我的查询:

export const pageQuery = graphql`
  query blogPostQuery($slug: String!) {
    contentfulBlog(slug: { eq: $slug }) {
      product1Title
      product2Title
      product3Title
      product4Title
      product5Title
    }
  }
`

Terminal screenshot here

在终端中,我似乎得到了:

GraphQL 错误未知字段 product2Title 类型为 ContentfulBlog

如果我从查询中删除 product2Title,我会在 product3Title 处得到错误,依此类推。 product1 工作正常。

【问题讨论】:

    标签: reactjs gatsby contentful


    【解决方案1】:

    您在 http://localhost:8000/___graphql 的 GraphiQL 检查器中看到了什么?如果你打开文档(链接右上角),然后探索一下,能不能发一张contentfulBlog类型的截图以及它有哪些字段?

    如果您可以分享此信息,我希望可以发布更准确的答案,但与此同时,您可能会受到Gatsby ignoring empty fields 的影响。

    文章解释得更深入。一个简短的总结,如果你在 Contentful 上有一个为空的字段,它不会出现在 Gatsby 中。您可以确保至少有 1 条关于内容的记录包含您的所有产品标题字段来解决此问题。

    【讨论】:

    • 很明显,即使我命名了这些字段:product1Title、product2Title、product3Title 等,都以相同的方式,自动生成的内容字段 ID 是:product1Title、product2title、product3title 等。有一个大写“T”只在第一个:)。 GraphiQL 工具消息:“消息”:“无法在类型 \"ContentfulBlog\" 上查询字段 \"product2Title\"。您的意思是 \"product1Title\"、\"product2title\"、\"product4title\"、\"product5title\ ”,还是“product3title”?”感谢您的帮助!
    • 很高兴你知道了。但不确定字段命名发生了什么!
    猜你喜欢
    • 2019-01-13
    • 2021-04-12
    • 2021-04-17
    • 2020-08-08
    • 2021-07-11
    • 1970-01-01
    • 2020-08-15
    • 2020-09-22
    • 1970-01-01
    相关资源
    最近更新 更多