gpt4 book ai didi

reactjs - ReactJS socket.io任何在套接字下定义或调用的函数都会给出类型错误而不是函数

转载 作者:行者123 更新时间:2023-12-03 12:08:05 26 4
gpt4 key购买 nike

我试图从服务器中获取值(value)并更新客户端状态。该值可以通过控制台日志查看。但是,每当我调用一个函数时,它就会显示错误而不是一个函数。
此处显示“TypeError:this.setState不是函数”

客户:

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;

最佳答案

使用nextgen javascript箭头功能:

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

关于reactjs - ReactJS socket.io任何在套接字下定义或调用的函数都会给出类型错误而不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58060603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com