在Redux中存储websocket(通道)连接对象

时间:2016-06-28 15:46:57

标签: javascript reactjs websocket redux

我想在我的redux应用程序中使用websockets,并且在存储连接对象(凤凰频道)方面存在问题。

我有一个动态集合,可以添加和删除项目。当用户添加项目时,app应该基于连接,订阅和存储创建新的凤凰频道,因为我必须在其上做一些事情(例如,当用户删除项目时,我必须在频道上调用方法leave())。不幸的是,redux中的存储都是不可变的,所以没有选择来处理它。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分: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。您应该可以使用其中一些作为示例。