Node.js 我可以在redux存储中存储socket.io套接字吗?(并调用其函数)

Node.js 我可以在redux存储中存储socket.io套接字吗?(并调用其函数),node.js,redux,socket.io,Node.js,Redux,Socket.io,我正在尝试在我的Redux应用商店中的App.js中存储为客户端创建的套接字?我不确定这是否是一个好主意,但我希望能够访问多个组件中的同一个套接字,因此我认为我可以像处理其他对象一样进行访问 然而,到目前为止,我在redux存储中存储的东西都是带有字段的严格对象,我从未存储过具有函数的对象 当我尝试调用存储套接字的函数时,我得到: TypeError:this.props.socket.emit不是函数 我猜这意味着我不能使用Redux存储类实体。这是正确的吗 这里的正确解决方案是什么?这样做的

我正在尝试在我的Redux应用商店中的App.js中存储为客户端创建的套接字?我不确定这是否是一个好主意,但我希望能够访问多个组件中的同一个套接字,因此我认为我可以像处理其他对象一样进行访问

然而,到目前为止,我在redux存储中存储的东西都是带有字段的严格对象,我从未存储过具有函数的对象

当我尝试调用存储套接字的函数时,我得到: TypeError:this.props.socket.emit不是函数

我猜这意味着我不能使用Redux存储类实体。这是正确的吗


这里的正确解决方案是什么?

这样做的最佳方法是隔离处理套接字的所有代码,只公开组件调用的那些函数(类似于
socket.send(message:string)
以发送消息等)

不要担心
import
一次又一次地导入相同的模块/文件,因为无论您导入/需要它多少次,都会返回相同的实例。因此,隔离套接字函数并在需要时导入它们是安全的

此外,Redux是一个状态管理库,因此请不要期望它能够处理函数和其他高级功能