在react中使用socket.io-client时切换compenent,内部的this指向都会被改变,是什么造成的

在react中使用socket.io-client时切换compenent,内部的this指向都会被改变,是什么造成的?

我的socket.on注册在compnentDidMount中,当次component被移除时没有被销毁,并且回调时间内部的this指向被保留了,试图在componentDidMount顶部将this赋值给that,但是that.setState依旧不生效

阅读 2.7k
1 个回答

可以将socketwindow,这样就变成一个全局的了,你可以随时修改他。
建议将socketonmessage的值放到reduxstate中,不要放到组件的state中。
如果只是在组件中使用socket,那么在componentWillUnmount的时候将websocket close掉。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏