求教各位大神,prefab上监听socket的问题

我把一个界面chatUI做成prefab,prefab里面绑定了脚本,脚本里面添加socketIO发送接收数据,第一次加载chatUI prefab的时候,收到服务器返回的消息 里,打印self.node.name可以正常显示是ChatUI,关闭界面(销毁prefab)后,再次加载,收到服务器的消息后,打印self.node.name就报错了,请教大神们这是为什么

socket.on 方法在prefab销毁时没有解除监听.

楼上正解,请在组件的 onDestroy 或者 onDisable 中反注册 socket

解决了,谢谢两位

onDestroy里添加socket.removeListener(事件名)即可