je me bats sur ce point, si si dans mon mobile je suis en mauvaise connexion réseau, certains comment j'appelle le service, il faudra plus de temps pour appeler le service
Comment dire à l'utilisateur que votre connexion Internet est mauvaise.
Pour vérifier la connexion Internet, j'ai utilisé le networkInfo, mais cela n'aide que pour la connexion s'il y en a ou non, mais il ne donne aucune information sur la vitesse du réseau.
Si possible, quelqu'un peut-il me suggérer que, comment puis-je résoudre ce problème, toute aide très appréciée j'utilise le version native de réaction: 0.29.
Si vous voulez simplement savoir si l'appareil dispose d'une connexion Internet active, vous pouvez utiliser par exemple isConnected from React Native's NetInfo :
import { NetInfo } from "react-native";
NetInfo.isConnected.addEventListener(
"connectionChange",
hasInternetConnection =>
console.debug("hasInternetConnection:", hasInternetConnection)
);
Cependant, je ne sais pas comment savoir à quel point la connexion est bonne.
NetInfo.getConnectionInfo().then((connectionInfo) => {
console.log('Initial, type: ' + connectionInfo.type + ', effectiveType: ' + connectionInfo.effectiveType);
});
function handleFirstConnectivityChange(connectionInfo) {
console.log('First change, type: ' + connectionInfo.type + ', effectiveType: ' + connectionInfo.effectiveType);
NetInfo.removeEventListener(
'connectionChange',
handleFirstConnectivityChange
);
}
NetInfo.addEventListener(
'connectionChange',
handleFirstConnectivityChange
);
il s'agit d'une copie du code dans le react-native documentation , le type effectif spécifie si le réseau est 2G, 3G, Edge ou 4G.
Dans react native 0.60, l'importation de netinfo directement à partir du package react native a été déconseillée. Vous devez utiliser importer NetInfo à partir de "@ react-native-community/netinfo"; en haut et c'est un package différent, qui doit être lié au code natif. Et après cela, vous pouvez utiliser les fonctions NetInfo comme il a été utilisé précédemment comme
NetInfo.isConnected.addEventListener( "connectionChange", hasInternetConnection => console.debug("hasInternetConnection:", hasInternetConnection) );
Veuillez vérifier le document Github pour la même chose React native netinfo
Vous pouvez utiliser un module nommé comme react-native-offline
voici les accessoires donnés sur leur site Web
**
type Props = {
children: React.Node,
pingTimeout?: number = 10000,
pingServerUrl?: string = 'https://www.google.com/',
shouldPing?: boolean = true,
pingInterval?: number = 0,
pingOnlyIfOffline?: boolean = false,
pingInBackground?: boolean = false,
httpMethod?: HTTPMethod = 'HEAD',
}
**
Voici l'exemple:
import { NetInfo,Alert } from 'react-native';
const netStatus = await NetInfo.fetch()
if (netStatus === 'none' || netStatus === 'NONE') {
Alert.alert("Internet not connected.!!!")
return []
}else{
Alert.alert("Internet connected.!!! ")
}