GraphQL Fragments 及其优势
在这篇短文中,我将尝试为你解读 GraphQL Fragment 的概念。GraphQL 中的 Fragment 是什么?使用 Fragment 又能带来哪些好处?
GraphQL片段
在GraphQL中,有时需要在多个查询中查询相同的字段。这需要重复定义这些字段,从而导致一些虽小但非常恼人的错误。
这就是为什么 GraphQL 包含称为 Fragment 的可重用单元。Fragment 允许你构建可重用的查询逻辑片段(相当于设计系统中的 UI 组件)。查询的这一小段代码随时可以在需要的地方使用,这大大提高了我们的工作效率,并可能降低出现简单拼写错误的概率。
假设我们有一个user类型,其中包含一些标准字段,例如:
type User {
name: String!
age: Int!
twitter: String!
facebook: String!
phone: String!
email: String!
street: String!
zipcode: String!
city: String!
}
我们可以使用 `<string>`fragment来表示一组特定字段,例如在线联系方式:
fragment onlineDetails on User {
name
email
twitter
facebook
}
因此,在查询在线详细信息时,我们可以引用片段,而不是分别查询所有字段:
{
getUsers {
... onlineDetails
}
}
更少的打字,更简洁的代码,更轻松的生活 :)
使用片段的好处
GraphQL 片段允许您重用查询的部分内容,并提供以下特性:
- 一致性——更高的信心,确保你始终在正确的字段上工作,例如,在运行变更时,你知道你更新的是正确的数据。
- 更好的代码组织——片段可以改善 GraphQL 代码的结构和可重用性,这对于团队协作非常有帮助。
- 改进与 GraphQL 服务器的通信- 查询片段可将组件与任何不需要的数据隔离。
听起来不错吧?所以,如果你想知道使用 GraphQL 片段是否值得,答案很简单——值得!
文章来源:https://dev.to/graphqleditor/graphql-fragments-and-the-benefits-of-using-them-3efc