使用 GraphQL Fragments
Fragments 允许您重用 GraphQL 查询的各个部分。它还允许您将复杂的查询分解成更小、更易于理解的组件。
Fragment 的构成部分
这是一个 Fragment 示例
Fragment 由三个部分组成
FragmentName:稍后引用的 fragment 名称。TypeName:将使用该 fragment 的对象的 GraphQL 类型。这一点很重要,因为您只能查询实际存在于给定对象上的字段。- 查询的主体。您可以在其中定义任意嵌套级别的任意字段,与在 GraphQL 查询的其他地方定义字段的方式相同。
创建和使用 Fragment
Fragment 可以在任何 GraphQL 查询中创建,但最好将查询单独创建。有关更多组织建议,请参阅 概念指南。
这定义了一个名为 SiteInformation 的 fragment。现在,它可以在页面本身的 GraphQL 查询中使用。
在编译站点时,Gatsby 会预处理它找到的所有 GraphQL 查询。因此,可以包含在项目中的任何文件都可以定义一个片段。但是,只有页面可以定义实际返回数据的 GraphQL 查询。这就是为什么您可以在组件文件中定义 fragment - 它本身并不直接返回任何数据。
深入阅读
立即开始构建,在 Netlify!