2016-06-28 1 views
1

Я хочу использовать веб-порты в моем приложении redux и иметь проблемы с хранением объектов соединения (каналы phoenix).Хранение объектов соединения с сетями (каналов) в Redux

У меня есть динамическая коллекция с возможностью добавления и удаления элементов. Когда пользователь добавляет элемент, приложение должно создать новый phoenix-канал на основе соединения, подписаться и сохранить, потому что мне нужно сделать некоторые вещи на нем (например, я должен вызывать метод leave() на канале, когда пользователь удаляет элемент). К сожалению, хранить в редуксе все неизменяемо, поэтому нет возможности справиться с этим. Любая помощь будет оценена по достоинству.

ответ

1

Определенно не кладите его в магазин. По http://redux.js.org/docs/FAQ.html#organizing-state-non-serializable в магазин должны входить только сериализуемые данные. Стандартное место для размещения таких объектов, как постоянные объекты соединения, находится внутри промежуточного программного обеспечения. И, фактически, есть буквально десятки существующих посредников, которые демонстрируют этот подход, причем большинство из них перечислено в https://github.com/markerikson/redux-ecosystem-links/blob/master/middleware.md#sockets-and-adapters. Вы должны использовать некоторые из них в качестве примеров.

Смежные вопросы