简体   繁体   English

iOS:NetInfo.isConnected返回始终为false

[英]iOS: NetInfo.isConnected returns always false

netInfo React Native always returns false in ios simulator netInfo React Native在ios模拟器中始终返回false

NetInfo.isConnected.fetch().then(isConnected => {
    if (isConnected == true) {
        this.setState({isOnline: true})
        this.checkForToken()
    }
    else {
        this.setState({isOnline: false})
        this.checkTokenOffline()
    }
});

NetInfo.isConnected.fetch().then().done(() => {
    NetInfo.isConnected.addEventListener('connectionChange', (isConnected) => this.dispatchConnected());
})

It is a known bug where it always gives false. 这是一个已知的错误 ,它总是给出错误。 You'll need to attach a listener and use that instead. 您需要附加一个侦听器并使用它。

yourFunction = () => {
    NetInfo.isConnected.fetch().then(isConnected => {
        //Always false, so ignore/do nothing here
    });
    NetInfo.isConnected.addEventListener(
        'connectionChange',
        this.handleFirstConnectivityChange
    );
}

handleFirstConnectivityChange = (isConnected) => {
    if (isConnected == true) {
        this.setState({isOnline: true})
        this.checkForToken()
    }
    else {
        this.setState({isOnline: false})
        this.checkTokenOffline()
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM