#react-admin
Вопрос:
Я прочитал блог React Admin 3.3: Более Быстрая Навигация И Меньшая Занимаемая Площадь Благодаря Кэшированию Приложений, но все еще не понимаю, как создать реальный кэш без необходимости полного обновления списка.
Для нескольких ресурсов списка, которые редко изменялись, я хочу кэшировать ответ в IndexedDB.
Логика обновления и оптимистичного рендеринга должна быть следующей (если предыдущая версия списка уже находится в кэше):
- Каждая запись в списке имеет поле метки
last_updated
времени . - При открытии списка для кэшированного ресурса мой поставщик данных возвращает текущую версию списка из базы данных IndexedDB.
- В идеале во время этой загрузки спиннер должен продолжать вращаться (я не уверен, возможно ли это, так как я решил обещание на предыдущем шаге)
- В то же время во время шага 2 поставщик данных асинхронно запускает извлечение новых данных из API, например: «Дайте мне новые записи, обновленные после отметки времени, где отметка времени самая новая отметка времени в кэше.
- После получения данных из кэша API кэш будет обновлен, и поставщик данных должен каким-то образом уведомить react-администратора о том, что кэшированные данные изменились и ему необходимо повторно отобразить таблицу данных.
- Наконец загрузка спиннера остановилась.
В основном я не знаю, как выполнить шаг 5, так как он здесь наиболее важен.
Может ли кто-нибудь помочь с идеями, как реализовать такой или подобный кэш приложений?