Size: a a a

GraphQL — русскоговорящее сообщество

2020 July 01

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Но по сети всё должно прилетать правильно (один в один как бэк отдал)
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Вы правы во вкладке нетворк всё верно получено
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Apollo хранит кеш просто в нормализованном (плоском) виде. И клеит его по id. Если где-то на одном экране у вас запрашивается список записей и там есть запись с id "ololo", то если на другом экране выполнить квери или мутацию или сабскрибшен, где в ответе будет фигурировать запись с id "ololo", но у неё будет новое значение, то Apollo автоматом обновляет кеш, и на экране со списком это значение будет обновлено.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Проверить это можно, убрав из запроса id
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
внутри collisions
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Сейчас попробуем
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Спасибо 🙏
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
А пофиксить переименованием поля id в другое
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Но эффект прикольный, похоже на баг в Apollo
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
было бы неплохо им зарепортить
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Да, всё верно
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Было подозрение на кэширование, очень похоже на баг)
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Интересно есть ли опция, которая запрещает нормализовать ответ
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Нормализуется не ответ, а кеш.

А кеш вообще нужен? Реалтайм нужен?
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
В текущем варианте не нужен
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Это одноразовая проверка
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Можно при инициализации кеша сказать, что у collisions id это не уникальный id, а задать другой ключ в качестве id
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Но я бы на бэке переименовал поле id например в key
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
На будущее буду помнить про нормализацию по Id
источник