React Native NetInfo始终返回脱机状态
我目前正在尝试在我的本机应用程序中实现一些function,如果设备处于脱机状态,我会使用本地存储的信息,如果设备处于联机状态,则执行提取。
我在阅读本文如何处理React-Native中的网络故障时使用NetInfo ,当网络关闭时 ,但不幸的是我遇到了一个错误,NetInfo总是返回离线状态。 我发现了这个github问题 ,建议我将RCTReachability.m中的主机从’htpp://apple.com’更改为’apple.com’。 但是,我在项目目录中找不到具有该名称的文件。 相反,我发现在任何文件中都只提到’apple.com’,这是在RCTNetInfo.m中,它的格式正确。
有人知道解决这个问题的方法吗? 或者,如果设备处于联机状态,可能采用不同的方式执行一个操作,如果设备处于脱机状态,可能采用另一种方式
这是相关的代码:
fetchData() { NetInfo.isConnected.fetch().done((isConnected) => { console.log('First, is ' + (isConnected ? 'online' : 'offline')); if ( isConnected ) { fetch(REQUEST_URL) .then((response) => response.json()) .then((responseData) => { store.save('contacts', responseData.feed.entry) .then(() => store.get('contacts')) .then((contacts) => { this.setState({ dataSource: this.state.dataSource.cloneWithRows(contacts), isLoading: false }); }) }) .catch((error) => { console.error(error); }); } else { store.get('contacts') .then(contacts => { if (contacts == null) { this.setState({ dataSource: this.state.dataSource.cloneWithRows(CONTACT_DATA), isLoading: false }); } else { this.setState({ dataSource: this.state.dataSource.cloneWithRows(contacts), isLoading: false }); } }) } }); }