如果我使用下面的代码它不起作用:第二个查询 ( team()
) 使播放器null
处于缓存中。
fragment PLAYER on Player {
id
createdAt
team {
...TEAM
}
}
fragment TEAM on Team {
id
createdAt
}
query player($id: ID!) {
player(id: $id) {
...PLAYER
}
}
query team($id: ID!) {
team(id: $id) {
...TEAM
player {
...PLAYER
}
}
}
下面的代码解决了这个问题(这是我在代码库中所做的唯一更改):
fragment PLAYER on Player {
id
createdAt
# removed these lines from here:
# team {
# ...TEAM
# }
}
fragment TEAM on Team {
id
createdAt
}
query player($id: ID!) {
player(id: $id) {
...PLAYER
# to here:
team {
...TEAM
}
}
}
query team($id: ID!) {
team(id: $id) {
...TEAM
player {
...PLAYER
}
}
}
我的问题是:为什么它适用于查询而不是片段?