如何在 React Native 中查看网络信息 iOS?
How to check net Info in React Native iOS?
我需要在 React Native 中检查互联网连接 iOS
我会尝试以下代码:
NetInfo.isConnected.fetch().then(isConnected => {
console.log(isConnected);
});
可以在 React Native android 应用程序中正常工作,
但它总是 return 'false' 反应本机 iOS .
目前在 react native's github 中有一个未解决的问题。
您可以在那里看到讨论,但简而言之 - fetch
总是返回 false
,但您可以通过监听连接更改事件来解决它。
那里的代码示例:
componentDidMount() {
NetInfo.isConnected.addEventListener('change', this.handleConnectionChange);
NetInfo.isConnected.fetch().done(
(isConnected) => { this.setState({ status: isConnected }); }
);
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener('change', this.handleConnectionChange);
}
handleConnectionChange = (isConnected) => {
this.setState({ status: isConnected });
console.log(`is connected: ${this.state.status}`);
}
编辑:
这个问题似乎已经 worked on。
此外,change
事件已重命名为 connectionChange
。更新的解决方法代码:
componentDidMount() {
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectionChange);
NetInfo.isConnected.fetch().done(
(isConnected) => { this.setState({ status: isConnected }); }
);
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectionChange);
}
handleConnectionChange = (isConnected) => {
this.setState({ status: isConnected });
console.log(`is connected: ${this.state.status}`);
}
更新:
change
事件类型已弃用。考虑使用 connectionChange
事件类型。
通过使用 this 模块,您可以订阅网络状态更新
const unsubscribe = NetInfo.addEventListener(state => {
console.log("Is connected?", state.isConnected);
});
您还可以查看当前活动的网络连接是否可以访问互联网。
console.log("Is Internet Reachable?", state.isInternetReachable);
我还用源代码解释了 react-native-netinfo 的用法及其功能 here。
我需要在 React Native 中检查互联网连接 iOS
我会尝试以下代码:
NetInfo.isConnected.fetch().then(isConnected => {
console.log(isConnected);
});
可以在 React Native android 应用程序中正常工作, 但它总是 return 'false' 反应本机 iOS .
目前在 react native's github 中有一个未解决的问题。
您可以在那里看到讨论,但简而言之 - fetch
总是返回 false
,但您可以通过监听连接更改事件来解决它。
那里的代码示例:
componentDidMount() {
NetInfo.isConnected.addEventListener('change', this.handleConnectionChange);
NetInfo.isConnected.fetch().done(
(isConnected) => { this.setState({ status: isConnected }); }
);
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener('change', this.handleConnectionChange);
}
handleConnectionChange = (isConnected) => {
this.setState({ status: isConnected });
console.log(`is connected: ${this.state.status}`);
}
编辑:
这个问题似乎已经 worked on。
此外,change
事件已重命名为 connectionChange
。更新的解决方法代码:
componentDidMount() {
NetInfo.isConnected.addEventListener('connectionChange', this.handleConnectionChange);
NetInfo.isConnected.fetch().done(
(isConnected) => { this.setState({ status: isConnected }); }
);
}
componentWillUnmount() {
NetInfo.isConnected.removeEventListener('connectionChange', this.handleConnectionChange);
}
handleConnectionChange = (isConnected) => {
this.setState({ status: isConnected });
console.log(`is connected: ${this.state.status}`);
}
更新:
change
事件类型已弃用。考虑使用 connectionChange
事件类型。
通过使用 this 模块,您可以订阅网络状态更新
const unsubscribe = NetInfo.addEventListener(state => {
console.log("Is connected?", state.isConnected);
});
您还可以查看当前活动的网络连接是否可以访问互联网。
console.log("Is Internet Reachable?", state.isInternetReachable);
我还用源代码解释了 react-native-netinfo 的用法及其功能 here。