作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道如何使用片段,我现在的问题是片段只能在一个类型的查询/变更中使用。
例如。
paginationFragment on Person
我想我正在寻找的是类似于片段但更一般。
例如。我有一个 PersonBrowseQuery、EventsBrowseQuery、BookmarkBrowseQuery 等。都有一个包含我的分页数据的元字段
meta {
total
per_page
current_page
etc.
}
是否可以将其考虑到可重复使用的事物中?
最佳答案
你的元字段是一个类型,所以你仍然可以为它使用一个片段:
const metaFragment = gql`
fragment MetaFields on MetaType {
total
per_page
current_page
# other fields
}`
然后它可以作为使用模板文字占位符语法包含在您的查询中:
const usersQuery = gql`
query getUsers {
users {
meta {
...MetaFields
}
# other fields
}
}
${metaFragment}
}`
只要确保片段的名称(本例中的 MetaFields
)匹配即可。 或者,如果您有一些不一定是片段的共享字段并且您决心尽可能保持 DRY,您可以只使用普通模板文字:
const sharedFields = `
bar
baz
qux
`
const usersQuery = gql`
query getFoo {
foo {
${sharedFields}
# other fields
}
}
}`
关于graphql - 如何在 graphql 查询中重用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45948368/
我是一名优秀的程序员,十分优秀!