Работа с непротиворечивостью данных в очень большом магазине в React + Redux SPA SaaS
Итак, мы планируем использовать PHP-бэкэнд с внешним сервером React + Redux. Мы разрабатываем очень большое приложение, множество таблиц по всему приложению. Поскольку это будет одностраничное приложение, все данные содержатся внутри объекта хранилища.
Итак, давайте посмотрим, правильно ли я настроен. Мое состояние начнется почти пусто, когда я войду в приложение. Когда я посещаю страницы, мое состояние начнет заполняться. Пример: я захожу в «фотографии» приложения, затем заканчиваю тем, что загружаю некоторые фотографии из моей БД и помещаю их в свой магазин:
state{
...
photos: [1: {...}, 3: {...}, 17:{...}]
...
}
И позже, если мне понадобится фото с id = 17, мне не нужно будет запрашивать его снова, я могу использовать его в своем магазине, верно? Или, может быть, я сначала беру его из магазина и запрашиваю его асинхронно, чтобы проверить, не было ли изменений в нем.
Поскольку я посещаю все больше и больше страниц, у меня будет огромный магазин с множеством элементов из разных таблиц, например. фотографии, видео, пользовательские настройки, друзья и т. д. Как мне решать проблему согласованности данных? Если мне нужен объект, который я уже получил 10 минут назад, должен ли я запросить его снова? Здорово ли иметь такой большой магазин?
Я планирую использовать normalizr & reselect, чтобы манипулировать моей датой в реагировать на редукцию.
Есть мысли по этому поводу? Я хотел бы услышать, как вы думаете, это хороший способ справиться с ситуацией.
Заранее спасибо!
Фабиу