【发布时间】:2019-10-25 13:24:57
【问题描述】:
我正在开发一个实时聊天功能,用户可以加入许多不同的聊天室。切换房间后,我很难订阅新的聊天室。它正在将消息发送到正确的会话,但由于没有重新订阅新会话,因此没有接收到消息。
useEffect(() => {
client.configure({
brokerURL: 'ws://localhost:8080/ws',
connectHeaders: sh,
onConnect: () => {
console.log('onConnect');
setIsConnected(true);
client.subscribe(`/secure/room/${convoId}`, mes => {
const json = JSON.parse(mes.body);
setMessages(prev => prev.concat(json));
});
},
onDisconnect: () => {
console.log('disconnected');
setIsConnected(false);
},
onWebSocketClose: () => {
client.unsubscribe();
}
});
client.activate();
}, [messages, convoId]);
一旦用户切换到新的聊天室,重新订阅会话
【问题讨论】:
标签: reactjs websocket react-hooks