在 Redux 中存储 websocket(通道)连接对象
Posted
技术标签:
【中文标题】在 Redux 中存储 websocket(通道)连接对象【英文标题】:Storing websocket (channels) connection objects in Redux 【发布时间】:2016-06-28 15:46:56 【问题描述】:我想在我的 redux 应用程序中使用 websocket,但在存储连接对象(phoenix 通道)时遇到了问题。
我有一个动态集合,可以添加和删除项目。当用户添加一个项目时,应用程序应该基于连接、订阅和存储创建一个新的凤凰频道,因为我必须在它上面做一些事情(例如,当用户删除一个项目时,我必须在频道上调用一个方法 leave())。不幸的是,redux 中的 store 都是不可变的,所以没有办法处理这个问题。任何帮助,将不胜感激。
【问题讨论】:
【参考方案1】:绝对不要把它放在商店里。根据Redux FAQ,只有可序列化的数据才能进入存储。放置持久连接对象之类的标准位置是在中间件内部。而且,事实上,有几十个现有的中间件证明了这种方法,其中大多数都列在redux-ecosystem-links 上。您应该可以使用其中的一些作为示例。
【讨论】:
以上是关于在 Redux 中存储 websocket(通道)连接对象的主要内容,如果未能解决你的问题,请参考以下文章