0
這是我的工作代碼:如何觸發反應,用套接字重新渲染UI?
import socket from 'components/io/socket';
import store from 'components/store';
// globally available socket connection
class ChatBox extends React.Component {
componentDidMount(){
socket.on("message", this.props.addChat.bind(this));
// this.props.addChat is reduxer actions.
}
}
不過,我很擔心這樣的代碼,很可能引入內存泄漏,因爲舊的客艙部分將仍然由插座refered。
我試圖把它變成:
import socket from 'components/io/socket';
import store from 'components/store';
socket.on("message", store.dispatch(addChat({...}))
class ChatBox extends React.Component {
render(){ ... }
}
但是第二碼犯規觸發HTML被重新描繪,即使當我使用斷點,電話,store.getState()
插座收到消息後的結果變化。