Проблема:
В пользовательском интерфейсе у меня есть действие, которое называется «подключиться к комнате». Я отправляю это, и тогда слушатель действия фактически соединится с комнатой. По окончании будет отправлено сообщение «подключено к комнате» или «ошибка при подключении к комнате».
Это избыточность на стороне клиента с побочными эффектами. Мне было интересно, каков наилучший способ для пользовательского интерфейса, который инициировал действие «подключиться к комнате», чтобы получить ответ «подключен к комнате» или «ошибка подключения к комнате»?
- A) Должен ли пользовательский интерфейс прослушивает все действия? Я добавлю идентификатор корреляции к исходному действию, а затем подожду совпадения с тем же идентификатором корреляции. Затем отправляет новое действие, чтобы обновить его состояние в Redux. Обратите внимание, что я разделяю действия. Таким образом, он больше не связан с действием «подключиться к комнате». Он более модульный.
- B) Пользовательский интерфейс не должен знать о том, что произойдет, но редуктор будет прослушивать это действие и изменять состояние пользовательского интерфейса. Это не очень модульно.
- C) У вас есть идея получше?
Пример кода того, что я хотел бы: const result = await store.dispatch(action)