I'm trying to update react state afte getting data from the websocket connection.
cont[myState,setState] = useState([array of some values]);
useEffect(() => {
if (d1 && d2) {
/* Begin Setup */
const socket = new SockJS(WS_URL, {}, {CheckOrigin: () => false});
socket.onopen = () => {
// console.log('Connected to server');
};
socket.onclose = () => {
// console.log('Disconnected from server');
};
stompClient = Stomp.over(socket);
stompClient.connect({}, () => {
stompClient?.subscribe(`/topic/chat/${d1.id}`,onMessageReceiveEvent);
/// Subscribe for any user repliyng for the selected chat
stompClient?.subscribe(`/topic/chat/status/${d1.id}`, onCurrentReplyEvent);
});
}
return () => {
stompClient?.disconnect();
}
},[d1,d2]);
const onMessageReceiveEvent = (res) =>{
console.log(mystate) //// printing [] array, althogh it has values.
}
I'm not able to get why myState is empty inside the callback function of stomp subscriber?
Please help.