Javascript ChatClient websocket在套接字重新连接时多次绑定到事件

Javascript ChatClient websocket在套接字重新连接时多次绑定到事件,javascript,react-native,websocket,Javascript,React Native,Websocket,我正在为我的react本机聊天应用程序使用一个简单的WebSocket。 每当服务器端出现错误,聊天室关闭,导致我的应用程序出现错误事件时,就会将readyState设置为CLOSED,这意味着我需要重新启动并尝试重新连接 当套接字连接时,我有一个侦听器列表,例如:“chatMessage”、“error”、“userDisconnected”、“userConnected” 但问题是,每当我通过以下操作重新创建客户端时: initWebSocket() { this._

我正在为我的react本机聊天应用程序使用一个简单的WebSocket。 每当服务器端出现错误,聊天室关闭,导致我的应用程序出现错误事件时,就会将readyState设置为CLOSED,这意味着我需要重新启动并尝试重新连接

当套接字连接时,我有一个侦听器列表,例如:“chatMessage”、“error”、“userDisconnected”、“userConnected”

但问题是,每当我通过以下操作重新创建客户端时:

    initWebSocket() {
        this._chatClient = null;
        this._chatClient = new ChatClient({
            url: `${Constants.chatUrl}:${Constants.chatPort}`,
            log: false
        });
    }
为了随后调用connect(),我创建了一个复制的所有事件侦听器。因此,当我发送/接收一条消息时,它会显示两次,就像它确实发送了两次一样。这是一种外观,因为在服务器上,它只显示消息发送一次。如果我回到消息列表屏幕,然后进入同一个聊天室,它将更新并只显示1条消息,而不是2条。因此,这是一个100%被调用的重复事件侦听器

如何解决这个具体问题