Я пытаюсь удалить пользователя из команды. Пользователь удален, но пользовательский интерфейс не обновляется без обновления.
Вот начальный запрос:
const GET_TEAM = gql`
query Team($id: ID!) {
team(id: $id) {
name
users {
results {
id
name
}
}
}
}
`;
Вот моя мутация удаления:
const [deleteTeamUser] = useMutation(DELETE_TEAM_USER, {
update(store) {
const data = store.readQuery({
query: GET_TEAM,
variables: {
id: teamId,
},
});
const index = data.team.users.results.findIndex(user => user.id === id);
const newData = { ...data };
if (index > -1) {
newData.team.users.results.splice(index, 1);
}
store.writeFragment({
id: `TeamDetail:${teamId}`,
fragment: gql`
fragment myTeam on TeamDetail {
name
users {
results {
id
name
}
}
}
`,
data: newData,
});
},
});
ошибка в консоли:
Invariant Violation: Cannot match fragment because __typename property is missing: {"team":{"name":"team1","description":"","users":{"results":[],"__typename":"UserListResultSet"},"__typename":"TeamDetail"}}
Есть идеи, почему пользовательский интерфейс не обновляется?