Tho*_*sen 2 graphql graphql-js react-apollo
我知道如何使用片段,我现在的问题是片段只能在类型的查询/突变中使用。
例如。
paginationFragment on Person
Run Code Online (Sandbox Code Playgroud)
我想我正在寻找的是类似于片段但更一般的。
例如。我有一个 PersonBrowseQuery、EventsBrowseQuery、BookmarkBrowseQuery 等。都有一个包含我的分页数据的元字段
meta {
total
per_page
current_page
etc.
}
Run Code Online (Sandbox Code Playgroud)
是否可以将其分解为可重复使用的东西?
您的元字段是一种类型,因此您仍然可以为其使用片段:
const metaFragment = gql`
fragment MetaFields on MetaType {
total
per_page
current_page
# other fields
}`
Run Code Online (Sandbox Code Playgroud)
然后它可以作为使用模板文字占位符语法包含在您的查询中:
const usersQuery = gql`
query getUsers {
users {
meta {
...MetaFields
}
# other fields
}
}
${metaFragment}
}`
Run Code Online (Sandbox Code Playgroud)
只需确保片段的名称(MetaFields
在本例中)匹配。或者,如果您有一些不一定是片段的共享字段,并且您希望尽可能保持 DRY,您可以只使用简单的模板文字:
const sharedFields = `
bar
baz
qux
`
const usersQuery = gql`
query getFoo {
foo {
${sharedFields}
# other fields
}
}
}`
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1036 次 |
最近记录: |