在react中使用socket.io-client时切换compenent,内部的this指向都会被改变,是什么造成的
在react中使用socket.io-client时切换compenent,内部的this指向都会被改变,是什么造成的?
我的socket.on注册在compnentDidMount中,当次component被移除时没有被销毁,并且回调时间内部的this指向被保留了,试图在componentDidMount顶部将this赋值给that,但是that.setState依旧不生效
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以将
socket
对window
,这样就变成一个全局的了,你可以随时修改他。建议将
socket
的onmessage
的值放到redux
的state
中,不要放到组件的state
中。如果只是在组件中使用
socket
,那么在componentWillUnmount
的时候将websocket close
掉。