javascript - 在扩展 react 组件中绑定(bind)套接字

标签 javascript reactjs socket.io

我有一个类应用程序在 react

class App extends Component

componentWillMount() 中,我已经初始化了套接字 this.socket = io();。 现在,如果我在 componentWillMount 之外的另一个函数中使用套接字,我会收到一个错误,例如 anotherfunction(){ this.socket.emit('welc_message','你好'); }

我收到

Uncaught TypeError: Cannot read property 'emit' of undefined

最佳答案

解决方案是在构造函数部分中我们绑定(bind) anotherfunction 的上下文,因此我们通过 this.anotherfunction = this.anotherfunction.bind(this) 这是整个应用程序文件夹的样子 App.js

关于javascript - 在扩展 react 组件中绑定(bind)套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39599892/

相关文章:

javascript - Socket.io Express 3 节课

node.js - socket.io-client 无法获得授权失败原因

javascript - Canvas,如何设置线段虚线?

javascript - 拦截点击时,如何检测嵌套在 anchor 内的内容的点击?

html - 这些多余的水平空间从何而来?

javascript - react 警告 : Functions are not valid as a React child

javascript - 在 JavaScript 中准确记录用户输入的时差?

javascript - 加载字体文件后计算容器的高度

javascript - 将一行单元格拆分为多行

javascript - 如何通过离开页面处理客户端断开的socket.io?