Скажем, у меня есть модель GraphQL, в которой есть People
и Parties
.
Что-то вроде этого:
Person {
name: String
parties: PartyConnection
}
Party {
place: String
dateTime: String
people: PeopleConnection
}
Я могу посмотреть на Person
и увидеть, к чему они идут Parties
, что затем кэшируется Relay.
Я также могу сделать мутацию, чтобы создать новую группу, добавив в нее несколько человек. Как мне убедиться, что все, кого я добавил в группу, признаны недействительными в кеше, чтобы при переходе на страницу человека я видел их в группе, которую я только что добавил.
Полезная нагрузка мутации выглядит примерно так:
fragment on CreatePartyMutationPayload {
party
partyMembers - not sure what type this should be, an array of ids?
}
какая getConfigs
и/или структура полезной нагрузки мне нужна, чтобы сообщить Relay, что каждый человек в массиве partyMembers должен сделать свое поле party в кеше недействительным?
Кроме того, возможно, существуют некоторые правила на стороне сервера, согласно которым, если я приглашаю одного человека, его партнер также приглашается автоматически. Это означает, что у меня нет окончательного списка идентификаторов Person
, которые будут признаны недействительными в объекте мутации на стороне клиента, пока полезная нагрузка не вернется. Как сделать так, чтобы все участники группы в полезной нагрузке были признаны недействительными?