Я столкнулся с этой проблемой и решил ее, убедившись, что включил поле __typename
с соответствующим значением во вложенный объект.Например:
client.writeData({
data: {
name: 'mr x',
address: {
id: 1,
country: 'y',
city: 'z',
__typename: "Address"
},
age: 25
}
})
Я бы также добавил, что было бы неплохо добавить поле 'id' (если вы не настроили параметр getIdFromObject
).В разделе Нормализация кэша Apollo есть дополнительная информация .
. Для справки я получил ошибку:
Инвариантное нарушение: Ошибка хранилища: приложение попыталосьнаписать объект без предоставленного идентификатора, но хранилище уже содержит идентификатор {Typename}: {id} для этого объекта.