Мы находимся в процессе миграции довольно сложного веб-приложения на архитектуру React / Redux.
Один главный вопрос разработки, на который я так и не смог найти ответ: как предполагается, что данные, хранящиеся в избыточном количестве, должны быть «обновлены»?
Например, скажем, я загружаю список items
по маршруту, подобному /items
. Теперь пользователь хочет просмотреть определенный элемент и переходит на /items/<id>
.
Поток, как я понимаю, должен работать примерно так: по запросу /items
мы делаем запрос API и храним все наши элементы в хранилище с избыточностью. Когда пользователь щелкает конкретный элемент, мы выбираем этот конкретный элемент из нашего магазина с избыточностью, без необходимости делать новый запрос API, поскольку у нас уже есть данные.
Это все хорошо и хорошо. Но тогда возникает вопрос: каков правильный способ «аннулирования» этих данных?
Скажем, пользователь загружает список items
и уходит оттуда на несколько часов. Теперь список items
теоретически устарел на сервере.
Как же тогда поддерживать магазин в актуальном состоянии с сервером?