【问题标题】:In React, how to pass "this.state" as parameter to "socket.on" callback function?在 React 中,如何将“this.state”作为参数传递给“socket.on”回调函数?
【发布时间】:2020-07-18 16:07:43
【问题描述】:

我正在使用 Socket.io 和 React,并且我有一个函数:

    this.state.socket.on("newMentions", function (data) {
      this.setState({         // Cannot read "this" here.
        newMentions: data
      })
    })

socket 存储在此类组件的state 中,我想定义它的on 事件,它应该使用this.setState 为状态设置一些新日期。

但是this.setState 无法访问,我想我需要将它作为参数传递给socket.on 函数。但是该怎么做呢?

提前致谢!

【问题讨论】:

    标签: javascript reactjs websocket socket.io


    【解决方案1】:

    您可以使用 ES6 箭头函数来访问词法上下文

     this.state.socket.on("newMentions",(data)=> {
          this.setState({        
            newMentions: data
          })
        })
    

    【讨论】:

      猜你喜欢
      • 2013-02-07
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多