【问题标题】:Reusing GraphQL fragments重用 GraphQL 片段
【发布时间】:2021-06-09 15:07:54
【问题描述】:

我正在使用 Prismic,我有两种相同的自定义类型,一种称为内容,一种称为主题。他们的数据是相同的,所以我想重复使用我的片段,可以吗?

示例片段如下所示:

import { graphql } from 'gatsby'

export const CollectionFragment = graphql`
    fragment CollectionFragment on PrismicContentBodyCollection {
    ...
    }
`

所以现在它被硬编码为 PrismicContentBodyCollection。

GraphiQL 示例如下所示:

query MyQuery {
  allPrismicTheme {
    nodes {
      data {
        body {
          ... on PrismicThemeBodyHero {
            slice_type
          }
        }
      }
    }
  }
  allPrismicContent {
    nodes {
      data {
        body {
          ... on PrismicContentBodyHero {
            slice_type
          }
        }
      }
    }
  }
}

【问题讨论】:

    标签: graphql prismic.io


    【解决方案1】:

    我不能 100% 确定,但我认为这是不可能的,因为需要指定与您要查找的文档类型相匹配的类型,以确保您的查询有效并且您尝试接收的字段实际上存在于对象上。

    因此,在您的情况下,如果您正在寻找 Collection Slice,则片段需要 分别为PrismicThemeBodyCollectionPrismicContentBodyCollection

    我自己进行了一些测试,但不断收到错误消息,提示我缺少正确的内容类型名称

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 1970-01-01
      • 2019-02-26
      • 2023-03-21
      • 2019-03-15
      • 2018-11-02
      • 2018-03-13
      • 2018-04-07
      • 2017-05-24
      相关资源
      最近更新 更多