Как выполнить частичное обновление кэша приложений для списка в React-Admin?

#react-admin

Вопрос:

Я прочитал блог React Admin 3.3: Более Быстрая Навигация И Меньшая Занимаемая Площадь Благодаря Кэшированию Приложений, но все еще не понимаю, как создать реальный кэш без необходимости полного обновления списка.
Для нескольких ресурсов списка, которые редко изменялись, я хочу кэшировать ответ в IndexedDB.

Логика обновления и оптимистичного рендеринга должна быть следующей (если предыдущая версия списка уже находится в кэше):

  1. Каждая запись в списке имеет поле метки last_updated времени .
  2. При открытии списка для кэшированного ресурса мой поставщик данных возвращает текущую версию списка из базы данных IndexedDB.
  3. В идеале во время этой загрузки спиннер должен продолжать вращаться (я не уверен, возможно ли это, так как я решил обещание на предыдущем шаге)
  4. В то же время во время шага 2 поставщик данных асинхронно запускает извлечение новых данных из API, например: «Дайте мне новые записи, обновленные после отметки времени, где отметка времени самая новая отметка времени в кэше.
  5. После получения данных из кэша API кэш будет обновлен, и поставщик данных должен каким-то образом уведомить react-администратора о том, что кэшированные данные изменились и ему необходимо повторно отобразить таблицу данных.
  6. Наконец загрузка спиннера остановилась.

В основном я не знаю, как выполнить шаг 5, так как он здесь наиболее важен.

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