立即迁移到 Netlify

Netlify 宣布 Gatsby Cloud 的下一次迭代。 了解更多

使用 GraphQL Fragments

Fragments 允许您重用 GraphQL 查询的各个部分。它还允许您将复杂的查询分解成更小、更易于理解的组件。

Fragment 的构成部分

这是一个 Fragment 示例

Fragment 由三个部分组成

  1. FragmentName:稍后引用的 fragment 名称。
  2. TypeName:将使用该 fragment 的对象的 GraphQL 类型。这一点很重要,因为您只能查询实际存在于给定对象上的字段。
  3. 查询的主体。您可以在其中定义任意嵌套级别的任意字段,与在 GraphQL 查询的其他地方定义字段的方式相同。

创建和使用 Fragment

Fragment 可以在任何 GraphQL 查询中创建,但最好将查询单独创建。有关更多组织建议,请参阅 概念指南

这定义了一个名为 SiteInformation 的 fragment。现在,它可以在页面本身的 GraphQL 查询中使用。

在编译站点时,Gatsby 会预处理它找到的所有 GraphQL 查询。因此,可以包含在项目中的任何文件都可以定义一个片段。但是,只有页面可以定义实际返回数据的 GraphQL 查询。这就是为什么您可以在组件文件中定义 fragment - 它本身并不直接返回任何数据。

深入阅读

立即开始构建,在 Netlify!
在 GitHub 上编辑此页面
©2025Gatsby, Inc.