在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
提交
取消
