*️⃣Advanced сache tags
Давайте рассмотрим следующую ситуацию
⚡1.1) Перезагрузите страницу карточек, и затем перейдите на вторую страницу, а потом на третью. По итогу в кеше вы можете их наблюдать

⚡1.2) Вернитесь на первую страницу и обновите какую-нибудь карточку
Вы увидите следующую картину

Это значит что кеш для второй и третьей страницы сбросился. И если я перейду на вторую страницу, то данные будут заново подгружаться по сети. В принципе не смертельно, но все таки такое поведение избыточно, т.к. я менял только первую страницу, я не хочу чтоб закешированные страницы сбрасывались
Попробуйте перейти на 2 и 3 страницу и убедитесь, что запросы идут 😥
⚡1.3) Для этого нам нужно капнуть глубже в работу с тегами
Нам необходиму указать, какую конкретно карточку мы меняем
Как это работает, поясню на занятии.
Поверим, что получилось. Ничего у нас не получилось, т.к tag { type: "Card", id: card._id } нигде не обрабатывается.
⚡1.4) Соответственно для теперь нам нужно поправить providesTags в getCards endpoints
Вот как то так написть
🤔 Но откуда нам взять card id ?
Нам нужно промапиться по карточками условно закешировать все карточки и тогда RTK query поймет, что собственно закекшировалось
Давайте теперь проверим поведение с кешем. Теперь кеш для второй и с третьей страниц не должен сбрасываться 🚀

Last updated