web-dev-qa-db-fra.com

Comment vérifier l'état du réseau dans l'application React-Native

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

  • Existe-t-il une possibilité d'augmenter le délai de récupération (ou)
  • 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.

11
Hussian Shaik

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.

11
ArneHugo
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.

4
Dansmog

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

0
Gaurav Roy

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',
}

**

0
sahil555

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.!!! ")
}
0
Pratik Panchal