我实际上是用React-native和React-navigation构建我的移动应用程序,并且我想向它添加聊天(实际上我必须这样做)。
但是将我的应用程序连接到Socket.IO时遇到一个大问题: 由于Socket.io,所有 fetch()请求都很慢(10秒,应为10ms)。我在网上看到了很多说明,但是似乎没有人完全一样……
另一个问题是我可以通过以下方法解决问题:
componentWillUnmount() {
this.socket.disconnect();
}
但是因为我使用的是React导航,所以在屏幕之间导航时从未调用 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);
});
}