我有一个组件,负责侦听网络连接的更改。但是,它的行为不符合预期。
添加了附加检查以检测连接是否真正连接。它只是对Google进行ping操作(here's一篇提示原因的文章)。
componentDidMount() {
NetInfo.addEventListener("connectionChange", this.onNetworkStatusChange);
}
componentDidUnmount() {
NetInfo.removeEventListener("connectionChange", this.onNetworkStatusChange);
}
onNetworkStatusChange = async () => {
const isConnected = await NetInfo.isConnected.fetch();
console.log({
isConnected,
});
try {
await axios.get("https://google.com");
this.clearError();
} catch (e) {
this.onError(CONNECTION_ERROR);
}
};
我的onNetworkStatusChange
事件未在Android上触发。为了模拟这一点,我从Macbook打开和关闭WiFi。