NetInfo在连接到wifi时返回true但没有互联网。除了NetInfo之外,还有哪些其他最好的选项来检查本地的互联网连接?
答案 0 :(得分:3)
您必须ping并查看连接是否确实具有互联网连接。 首先使用netInfo。使用它的 icConnected 方法可以查明设备是否已连接到网络。如果是这样,请使用您的HTTP客户端添加拦截器,并在发送实际请求之前尝试ping并检查互联网连接。
此外,如果您需要更多高级内容,请尝试使用此库来处理离线数据。它会解决您的问题。 https://github.com/rauliyohmc/react-native-offline
答案 1 :(得分:1)
遗憾的是,没有其他方法可以ping某种主机并等待响应。
你可以这样做:
poll() {
setTimeout(() => {
poll();
return fetch('http://www.google.com')
.then((response) => {
// this is the success callback
// you could check if the app was previously offline
// and set it back to online to get rid of the offline hint
})
.catch((err) => {
// error callback
// use this to handle some sort of notification for the user
// you could update a state within your root container
// or redux to update the app with some visual hints
});
}, 5000);
}
希望这有帮助