首页 > 解决方案 > 为什么 socket.io 会减慢我的应用程序的速度?(注册护士)

问题描述

我实际上正在使用 React-native 和 React-navigation 构建我的移动应用程序,并且我想向它添加一个聊天(实际上我必须这样做)。

但是在将我的应用程序连接到 Socket.IO 时我面临一个大问题:由于 Socket.io,所有fetch()请求都非常慢(10 秒,应该是 10 毫秒)。我在网上看到了很多解释,但似乎没有人处于完全相同的情况......

另一个问题是我可以通过以下方式解决问题:

componentWillUnmount() {
    this.socket.disconnect();
}

但是因为我使用的是 React-navigation,所以在屏幕之间导航时永远不会调用componentWillUnmount() ......

看起来与 Websockets 的连接消耗了太多的能量,但这并不是真的可能......

你们知道我应该如何解决这个问题吗?为什么 Socket.io 会减慢fetch()请求?当然:我做错了什么吗?

我在下面给你我的代码的一部分,谢谢!

import SocketIOClient from 'socket.io-client';

...

componentDidMount(){
     this.socket = SocketIOClient('https://api.XXX.com');

     this.socket.on('chat', (message) => {
       this.state.Messages.push(message);
     });
}

标签: javascriptreact-nativesocket.io

解决方案


推荐阅读