当我在登录页面上时,如果断开网络连接,则必须仅在登录页面上导航到没有网屏,而不是整个移动应用程序。
NetInfo.isConnected.addEventListener(
"connectionChange",
this.handleConnectivityChange
);
componentWillUnmount() {
NetInfo.isConnected.removeEventListener(
"connectionChange",
this.handleConnectivityChange
);
}
handleConnectivityChange = isConnected => {
if (isConnected) {
this.props.navigation.navigate(SCREENS.LOGIN);
} else {
this.props.navigation.navigate(SCREENS.NO_INTERNET_MESSAGE);
}
};
答案 0 :(得分:0)
仅在登录组件中侦听Internet连接,而不在应用程序中的每个组件以及App类中侦听Internet连接。
在您的登录组件中:
handleConnectivityChange = isConnected => {
if (isConnected) {
// just write your login process
} else {
this.props.navigation.navigate(SCREENS.NO_INTERNET_MESSAGE);
}
};
否则,每当没有互联网时,每个组件都会被重定向到您的登录页面,并自动重定向到no_internet屏幕。