在react中使用socket.io-client时切换compenent,内部的this指向都会被改变,是什么造成的在react中使用socket.io-client时切换compenent,内部的this指向都会被改变,是什么造成的?我的socket.on注册在compnentDidMount中,当次component被移除时没有被销毁,并且回调时间内部的this指向被保留了,试图在componentDidMount顶部将this赋值给that,但是that.setState依旧不生效
1 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
可以将socket
对window
,这样就变成一个全局的了,你可以随时修改他。
建议将socket
的onmessage
的值放到redux
的state
中,不要放到组件的state
中。
如果只是在组件中使用socket
,那么在componentWillUnmount
的时候将websocket close
掉。
添加回答
举报
0/150
提交
取消