Я пытаюсь получить элементы из GraphQL и получить (посмотрел на вкладку «Сеть»):
Но когда я делаю
console.log(data)
Я получаю один и тот же объект как первый много раз.Например, не [0,1,2,3,4,5,6], а [0,0,0,0,0,0].Что не так?
Ваш API возвращает null в качестве значения свойства id каждого элемента.InMemoryCache Аполлона нормализован и использует id и __typename каждого объекта хранится в качестве ключа.Поскольку идентификаторы для каждого элемента совпадают, они перезаписываются в кеше.
null
id
InMemoryCache
__typename
Самое простое решение - это исправить ваш сервер, чтобы он правильно возвращал id для каждого элемента - это исправит неожиданноекеширование поведения.Если по какой-то причине у вас нет уникального идентификатора для каждого элемента, вам необходимо реализовать собственную функцию dataIdFromObject и передать ее в конфигурацию InMemoryCache.См. здесь для получения дополнительной информации в документации.
dataIdFromObject