Я не могу отправить сообщение с помощью socketio. Вот функция, которую я использую, но не могу отправлять сообщения.
Ниже приводится последовательность операций, которую я использую, событие
workspace_room_join
get_user_room
room_join
message
Теперь я не могу отправить сообщение. Как правильно отправить сообщение?
Ниже функция кода для отправки сообщения
sendUsingSocket = (messages) => {
const workspace_id = localStorage.getItem('workspace_id');
const payload = {
room_id:this.props.socket_details.room_id,
isChannel:false,
workspace_id:workspace_id,
chat: messages,
sender_id: this.state.sender_to_receiver_details.sender_id,
receiver_id: this.state.sender_to_receiver_details.receiver_id,
}
socket.emit("message", payload);
}
и вот компонент, который я передаю
<Chat sendUsingSocket={this.sendUsingSocket} />
А вот мой компонент смонтировал
componentDidMount() {
const token = localStorage.getItem("Auth");
const userInfo = JSON.parse(localStorage.getItem("getUserInfoFromLocalStorage"));
const user_id = userInfo._id
if(token !== undefined){
socket.emit("workspace_room_join",{
workspace_id:user_id,
token:token
})
socket.on("workspace_room_join",(data) => {
})
}
socket.on("get_user_room", (data) => {
this.props.actions.savingRoomId(data)
})
socket.on("room_leave", () => {
socket.emit("room_join", {
room_id: this.props.socket_details.room_id,
})
})
socket.on("get_user_room", (data) => {
socket.emit("room_join", {
room_id: data.room_id,
})
});
socket.on("message",(data) => {
const message_details = data.chatData
this.setState({
listen_messages:message_details
})
})
localStorage.setItem('workspace_id',this.props.match.params.id)
this.props.actions.getByWorkspaceId({ id: this.props.match.params.id });
let {actions} = this.props;
actions.fetchChannelList()
actions.fetchUserlist()
}
Я не могу отправлять сообщения, как это исправить?