Делать недействительным / обновить магазин Redux в веб-приложении React? - PullRequest
1 голос
/ 20 июня 2019

Мы находимся в процессе миграции довольно сложного веб-приложения на архитектуру React / Redux.

Один главный вопрос разработки, на который я так и не смог найти ответ: как предполагается, что данные, хранящиеся в избыточном количестве, должны быть «обновлены»?

Например, скажем, я загружаю список items по маршруту, подобному /items. Теперь пользователь хочет просмотреть определенный элемент и переходит на /items/<id>.

Поток, как я понимаю, должен работать примерно так: по запросу /items мы делаем запрос API и храним все наши элементы в хранилище с избыточностью. Когда пользователь щелкает конкретный элемент, мы выбираем этот конкретный элемент из нашего магазина с избыточностью, без необходимости делать новый запрос API, поскольку у нас уже есть данные.

Это все хорошо и хорошо. Но тогда возникает вопрос: каков правильный способ «аннулирования» этих данных?

Скажем, пользователь загружает список items и уходит оттуда на несколько часов. Теперь список items теоретически устарел на сервере.

Как же тогда поддерживать магазин в актуальном состоянии с сервером?

Ответы [ 2 ]

1 голос
/ 20 июня 2019

Вы можете использовать одно из следующих:

1) короткий опрос (то есть опрос вашего сервера время от времени и обновление элементов магазина)

2) длительный опрос (вы открываете соединение, сохраняете его, пока данные на сервере не изменятся, затем сервер отправит вам новые данные и закроет соединение, вы снова откроете его и т. Д.) *

3) прямые обновления с помощью веб-сокетов, которые обеспечивают двунаправленную связь (это означает, что сервер может передавать данные клиенту)

0 голосов
/ 20 июня 2019

Является ли это, когда состояние изменяется, реагирует автоматически, повторно представляет компонент, это может быть не то, что вы хотите, но что вы подразумеваете под правильным шаблоном для «аннулирования» этих данных? как через 30 минут будет отправлено действие проверки состояния изменения?

...