ReactJS socket.io Любая функция, определенная или вызванная при включенном сокете, дает ошибку типа, а не функцию - PullRequest
1 голос
/ 23 сентября 2019

Я пытаюсь получить значение с сервера и обновить состояние клиента.Значение можно увидеть в журнале консоли.Но всякий раз, когда я вызываю функцию, она показывает ошибку, а не функцию.Здесь показано «Ошибка типа: this.setState не является функцией»

client:

import React, { Component } from 'react';
import Navbar from './navbar.js';
import RemPage from './rempage.js';
import socketIOClient from "socket.io-client";

class App extends Component {
constructor(props){
super(props);
this.state = {
  i:'Ahoy',
  endpoint: "http://127.0.0.1:34001"
};
}

componentDidMount() {
const {endpoint} = this.state;
const socket = socketIOClient(this.state.endpoint);
socket.on('connect', function() {
  socket.on("outgoing data",data => this.setState({i: data.num}));
});

//console.log(data.num)

}
render() {
 const {response} = this.state;
return (
  <div>
  <p> {this.state.i} </p>
  </div>);
}
};
export default App;

1 Ответ

0 голосов
/ 23 сентября 2019

использовать функцию стрелки nextgen javascript:

componentDidMount() {
   const {endpoint} = this.state;
   const socket = socketIOClient(endpoint);
   socket.on('connect', () => {
     socket.on("outgoing data",data => this.setState({i: data.num}));
   });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...