Создание действий Redux для вызовов API, которые не изменяют состояние напрямую - PullRequest
0 голосов
/ 17 июня 2020

Мы разрабатываем приложение React с использованием Redux для управления состоянием. В целом Redux служит нам хорошо, но в одной части приложения мы используем WebSockets для обновления состояния нашего приложения, чтобы все подключенные пользователи могли иметь самую последнюю версию данных.

Похоже, это: https://i.stack.imgur.com/uNAsk.png

В обычном приложении Redux у нас было бы 3 действия: ACTION_LOADING, ACTION_SUCCESS и ACTION_FAILURE для обработки HTTP-запросов. В этом случае состояние обновляется автоматически после получения новых данных от WebSocket.

Правильно ли иметь действие Redux (преобразователь) для отправки этих данных на сервер, даже если оно не изменяет состояние, или лучше в этих случаях вызывать службу без использования Redux?

Если мы создаем действия, какой шаблон вы бы порекомендовали?

Спасибо.

1 Ответ

0 голосов
/ 18 июня 2020

Я бы рекомендовал обернуть его в преобразователь по нескольким причинам:

  1. Нет ничего фатального в инициировании действия, которое не приводит к изменению состояния (по какой-либо причине).
  2. Даже если вы ничего не делаете в случае успешного POST (поскольку все действия будут происходить позже через сообщение с сервера), вам все равно может потребоваться отправить действия в случае, если POST по какой-то причине не сработает. .
  3. Это позволяет вашим компонентам использовать один согласованный механизм (диспетчеризация действий), а не иногда одним способом, а иногда другим.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...