Javascript 尝试在执行套接字控制器函数时更改屏幕区域中的状态
我有一个用于发送和接收消息的套接字实例类。班级运作良好,我会相应地接收和发送信息。我的问题是我需要更改调用套接字实例类函数的屏幕的状态Javascript 尝试在执行套接字控制器函数时更改屏幕区域中的状态,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个用于发送和接收消息的套接字实例类。班级运作良好,我会相应地接收和发送信息。我的问题是我需要更改调用套接字实例类函数的屏幕的状态 export default class SocketInstance { ... listenEvents = (myUsername,reRenderState) => { if(SocketInstance.connection !== null) { SocketIns
export default class SocketInstance
{
...
listenEvents = (myUsername,reRenderState) =>
{
if(SocketInstance.connection !== null)
{
SocketInstance.connection.on(myUsername,(notificationObj)=>{
if(notificationObj.type == 'hostingNotification')
{
console.warn(reRenderState)
return !reRenderState
}
}
}
}
}
到目前为止,执行SocketInstance类中的console.warn语句,一切正常。我想,我可以在return语句中返回传递给listenEvents函数的相反状态,并将其放入另一个类中
export default class AA extends Component
{
async componentDidMount()
{
this.socket = SocketInstance.getSocketInstance();
const reRenderFrinds = this.socket.listenEvents(username,this.state.renderFriendList)
console.warn(reRenderFrinds)
}
}
但是,AA类中的console.warn语句不会执行。这意味着在函数完成后,我不能继续更改AA类中的任何状态。我还尝试了以下操作,但是console.warn没有执行,这意味着我无法更改任何状态
export default class AA extends Component
{
async componentDidMount()
{
this.socket = SocketInstance.getSocketInstance();
this.socket.listenEvents(username,this.state.renderFriendList,(res)=>{
console.warn(res)
}
}
}
有人能告诉我我做错了什么吗。先谢谢你