Обработка apollo-graphql пронумерованного кэша пагинации - PullRequest
1 голос
/ 07 апреля 2020

Если у меня есть два маршрута,

/posts?page=1

/posts/write

Предположим,

  • Каждая страница имеет 5 сообщений.

  • Визит /posts?page=1 Затем [post10, post9, post8, post7, post6] будет сохранен в кеше Apollo.

  • Визит /posts?page=2 Затем [post5, post4, post3, post2, post1] будут сохранены в кеше Apollo.

В этом случае, если я создаю новое сообщение с маршрутизатором /posts/write, как правильно обновить кэш?

Дело 1

Если я посещаю только page=1, 5 сообщений сохраняются в кеше. Я могу вручную обновить кеш до [new post, post10, post9, post8, post7]. и затем я перемещаю URL на page2, страница 2 покажет [post6, post5, post4, post3, post2] правильно. потому что нет кэша страницы 2, и он будет обслуживаться из данных сервера.

Случай 2

Если я зайду page=1, а затем page=2, сохранено 10 сообщений в кеше. Если я обновлю вручную, как в случае 1, page2 покажет [post5, post4, post3, post2, post1], которые post6 исчезли. Более того, я не могу предположить, что пользователь посещал страницы 1, 2 последовательно. Как насчет доступа пользователей к ситуации с URL page1 ===> page4?

Как избежать этой проблемы? Я думаю, что уже существуют решения ... Кто-нибудь может помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...