简体   繁体   English

Socket.io 事件侦听器在我的 React 类组件中自发触发,没有服务器输出

[英]Socket.io event listeners are triggered in my React class component spontaneously, with no server output

I'm trying to implement some socket.io code in my React class component, but it doesn't seem to be working properly.我正在尝试在我的 React 类组件中实现一些 socket.io 代码,但它似乎无法正常工作。 My code looks like this:我的代码如下所示:

class foo extends React.Component {
  constructor(props) {
    super(props)
    this.state = {
      socket: io("localhost:5000")
    }
  }
  componentDidMount() {
    this.state.socket.on("event", console.log("event logged."))
  }
  render() {
    return (
      <div>
        <h1>Hello World!</h1>
      </div>
    )
  }
}

When I load up the React page in Chrome and open the dev tools console, I immediately see a "event logged."当我在 Chrome 中加载 React 页面并打开开发工具控制台时,我立即看到“事件已记录”。 message.信息。 Any ideas on why this is happening?关于为什么会发生这种情况的任何想法? No server is running, so I'm confused as to why the socket event is triggered.没有服务器正在运行,所以我很困惑为什么会触发套接字事件。

Thanks in advance for any feedback.提前感谢您的任何反馈。

you have to pass a function as second argument to socket.on ,你必须将一个函数作为第二个参数传递给socket.on

componentDidMount() {
    this.state.socket.on("event", (data) => {console.log("event logged.")});
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Socket.io 事件监听器/事件处理程序 Socket.io - Socket.io Event Listeners/Event Handlers Socket.io 为什么我的 socket.io 事件侦听器在一个 UI 组件上正常工作,但在 React 中的另一个组件上不起作用? - Why is my socket.io event listener works properly on a UI component but doesn't work on the other in React? 在 socket.io 事件上更新组件 - ReactJS、Socket.io - Update component on socket.io event - ReactJS, Socket.io 为什么在删除另一个组件中的所有侦听器后,socket.io 无法在 React 组件上进一步工作? - Why socket.io does not work further on react components after I remove all listeners in another component? 服务器重新启动并重新连接后,Socket.io客户端事件侦听器未侦听 - Socket.io client event listeners not listening after server restart and reconnect 服务器中的Redux + socket.io-业务逻辑是否属于事件侦听器或动作创建者? - Redux + socket.io in the server - Does business logic belong in event listeners or action creators? 如何防止多个 Socket.io 事件监听器 - How To Prevent Multiple Socket.io Event Listeners 我可以将 socket.io 事件侦听器分成不同的模块吗? - Can I separate socket.io event listeners into different modules? Socket.io“监听器未定义” - Socket.io “Listeners is undefined” 使用socket.io和node,是否有可能响应未由浏览器触发的事件而从服务器发射到浏览器? - With socket.io and node, is it possible to emit to browser from server in response to an event not triggered by the browser?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM