Javascript 使用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

我无法使用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} />

我无法发送消息,如何解决此问题?

你能分享你的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()
  }