Javascript 使用SocketIO发送消息失败,窗口或另一侧也未更新
我无法使用socketio发送消息,我正在使用一个函数,但无法发送消息 以下是我正在使用的流程,事件方面Javascript 使用SocketIO发送消息失败,窗口或另一侧也未更新,javascript,jquery,node.js,reactjs,socket.io,Javascript,Jquery,Node.js,Reactjs,Socket.io,我无法使用socketio发送消息,我正在使用一个函数,但无法发送消息 以下是我正在使用的流程,事件方面 workspace_room_join get_user_room room_join message 现在我无法发送消息,正确的发送方式是什么 下面的代码函数用于发送消息 sendUsingSocket = (messages) => { const workspace_id = localStorage.getItem('workspace_id'); const
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} />
我无法发送消息,如何解决此问题?你能分享你的socket server代码吗?那里有监听消息的处理程序吗?@Gaurav这是代码,我已粘贴到codesandbox中。请帮助我获取该文件的正确结构。好像我有很多错误的配置。如果您能够按照socket和message的工作方式重新编写文件,这将非常有用
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()
}