未捕获的类型错误:无法读取未定义 socket.io.client 的属性“sid”
Posted
技术标签:
【中文标题】未捕获的类型错误:无法读取未定义 socket.io.client 的属性“sid”【英文标题】:Uncaught TypeError: Cannot read property 'sid' of undefined socket.io.client 【发布时间】:2021-02-23 08:13:50 【问题描述】:我在 spfx react 应用程序中使用 socket.io.client 并在进行套接字连接时收到此错误:
Uncaught TypeError: Cannot read property 'sid' of undefined
【问题讨论】:
【参考方案1】:确保服务器端和客户端的 socket.io 版本相同。 因为 socket.io 2.0 不再兼容 3.0。 你可以在他们的 api 文档中查看它https://socket.io/docs/v3/migrating-from-2-x-to-3-0/index.html
【讨论】:
是的,是正确的修复方法,你必须更新你的 socket.io 前后包,否则你将在传输套接字的方式上出现故障,前面将使用轮询,因此你将拥有海量套接字断开连接....解决方案:前后更新你的socket.io包的版本【参考方案2】:"socket.io-client": "^3.0.1" 有这个问题。这是最新发布的版本。
在将版本降级为 "socket.io-client": "^2.3.1" 时问题得到解决。
【讨论】:
降级似乎就像逃避问题一样。以上是关于未捕获的类型错误:无法读取未定义 socket.io.client 的属性“sid”的主要内容,如果未能解决你的问题,请参考以下文章
未捕获的类型错误:无法读取未定义的属性 toLowerCase
JQuery:未捕获的类型错误:无法读取未定义的属性“调用”
未捕获的类型错误:无法读取文本字段上未定义错误的属性“toLowerCase”