我使用99%的屏幕取回。因此,如果连接丢失并且没有获取数据,我的屏幕是空的。因此,当互联网再次上线时,什么也不会发生。
所以,然后我下载了netInfo,但如果我禁用我的互联网连接,那么我的isOffline状态总是假的。什么都没有发生,我怎么能实时检测到当互联网是关闭/打开?
const [isOffline, setIsOffline] = useState(false);
useEffect(() => {
const removeNetInfoSubscription = NetInfo.addEventListener((state: NetInfoState) => {
const offline = !(state.isConnected && state.isInternetReachable)
console.log(offline)
setIsOffline(offline)
})
return () => removeNetInfoSubscription()
}, [])
console.log(isOffline);
如果你使用的是旧版本的React Native,你可能会在netinfo中遇到这个问题。将netinfo的版本降级到v6(或将React Native更新到版本>=0.65)可能会使它工作。
查看这个GitHub问题