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)
        }
    }
}
有人能告诉我我做错了什么吗。先谢谢你