&引用;否则";使用GraphQL 如何使用GQL指令实现“else”效果
使用&引用;否则";使用GraphQL 如何使用GQL指令实现“else”效果,graphql,apollo,relay,Graphql,Apollo,Relay,使用@include(if:$withFriends) 但是如果$withFriends为false,我想获取其他内容。我可以通过传递附加变量$notWithFriends query Hero($episode: Episode, $withFriends: Boolean!) { hero(episode: $episode) { name friends @include(if: $withFriends) { name } } } query
@include(if:$withFriends)
但是如果$withFriends
为false,我想获取其他内容。我可以通过传递附加变量$notWithFriends
query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
}
}
query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
appearsIn @include(if: $notWithFriends)
}
}
问题:是否可以避免使用附加变量?
类似这样的内容:
@include(else:$withFriends)
或@include(ifNot:$withFriends)
或@include(if:!$withFriends)
您可以使用@skip
指令,它的工作原理与@include
相反——如果if
参数为true
,它将从选择集中忽略该字段:
query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
appearsIn @skip(if: $withFriends)
}
}
这样,如果$withFriends
为true
,则只会选择name
和friends
。如果为false
,则只会选择name
和appearsIn