【发布时间】:2022-01-22 16:28:08
【问题描述】:
我有一个使用套接字 io 发送和接收所有数据的反应应用程序。我创建了一个全局套接字变量以在所有组件之间共享...
export let gameScoket = null
export const update = (newSocket) => gameScoket = newSocket
然后我在 'Home.jsx' 中设置套接字并进行几次调用...
update(io("ws://localhost:8888"))
socket = gameScoket
socket.on('...')
向这些调用添加回调时出现问题。回调似乎被称为随机(非常大)的次数,每次使用套接字时都会增加。在“Game.jsx”中的这三个套接字中可以看到一个例子......
socket.on("question-update", (data) => {
console.log("Calling question-update")
const responce = JSON.parse(data)
setQuizData(responce.data)
})
socket.on("point-update", (data) => {
console.log("Calling point-update")
const responce = JSON.parse(data)
setUsrData(responce.data)
})
socket.on("personal-point-update", (data) => {
console.log("Calling personal-point-update")
const responce = JSON.parse(data)
setClientScore(responce.data)
})
虽然没有证据表明客户端通过请求向服务器发送垃圾邮件,但控制台被消息轰炸,并且状态被重新更新了很多次,应用程序变得无响应并崩溃。这是控制台的屏幕截图...
我不知道我的实施哪里出了问题,希望得到一些建议,谢谢。
【问题讨论】:
标签: javascript reactjs websocket socket.io