2
votes

React Native App avec Expo - Le code QR ne se charge pas

Je suis ce tutoriel:

https://blog.expo.io/building-a-react-native-app-using-expo-and-typescript-part-1-a81b6970bb82

yarn global add create-react-native-app

create-react-native-app my-app-name

cd my-app-name

yarn start

Je suis sur le même réseau que mon téléphone (Android). Pas de VPN. Je suis dans le dossier racine de mon application. Il dit Loading dependency graph, done. donc je sais que ça marche.

Le pare-feu est également désactivé pour cela et ce n'est pas une erreur de temporisation.

Lorsque je scanne le code QR:

Something went wrong. Could not load exp://10.0.0.21:19000.

Quel pourrait être mon problème?

ÉDITER

Nouvelle erreur: Uncaught Error: java.net.ConnectException: Failed to connect to /10.0.0.21.19000


4 commentaires

Si vous utilisez LAN, assurez-vous que votre appareil est sur le même réseau wifi que votre machine de développement. Cela peut ne pas fonctionner sur certains réseaux publics. localhost ne fonctionnera pas pour iOS sauf si vous êtes dans le simulateur, et il ne fonctionne que sur Android si votre appareil est connecté à votre machine via USB.


Juste quelques autres conseils. Assurez-vous de vérifier que le lien est le même que celui de votre fichier de configuration. Si tel est le cas, essayez d'y accéder dans votre navigateur et accédez aux outils de débogage réseau. D'autres tests réseau sont utiles, tels que le traçage et voir ce qui se passe avec la demande / les réponses. J'ai déjà rencontré cela il y a quelque temps, mais j'ai pu résoudre simplement en testant les liens avec mon navigateur ou avec curl. J'espère que ça t'as aidé.


@hongdevelop l'apprécie. Tous les appareils sont sur le même réseau wifi. Ceci est sur Android. Ne fonctionne toujours pas.


@jazzmasterkc sur quel point de terminaison est-ce que j'utilise les outils de débogage Chrome?


4 Réponses :


5
votes

Essayez d'ouvrir le débogueur dans Chrome, puis sélectionnez tunnel si votre appareil et le PC de développement ne sont pas connectés au même serveur.


0 commentaires

-1
votes

exécuter la commande

expo start --tunnel 


0 commentaires

0
votes

Dans mon cas, j'ai utilisé le tunnel et il y avait un problème avec la version sdk - j'ai 39.0.0 et je ne devrais utiliser que 36, 37 ou 38 - c'est le message que j'ai reçu de l'expo, donc tout ce que j'ai fait est de entrez dans le fichier app.json et ajoutez la ligne suivante dans expo (ou modifiez-la simplement si elle existe déjà):

cd yourAppName 
npm start 

et cela devrait ressembler à:

"dependencies": {
    "expo": "~38.0.0",
    "expo-status-bar": "~1.0.2",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk- 
     38.0.0.tar.gz",
    "react-native-web": "~0.13.12"
  }

Dans le fichier package.json dans les dépendances, changez la version en 38.0.0 dans "expo" et "react-native":

    "expo": {
            "name": "DoneWithIt",
            "slug": "DoneWithIt",
            "sdkVersion": "38.0.0",
            "version": "1.0.0",

    ....
    ....
    }

puis exécutez:

"sdkVersion": "38.0.0"

et il sera chargé sur votre téléphone. vous pouvez le regarder à partir d'ici: https://www.youtube.com/watch?v=eS8VULijAZ4

Dans cette vidéo, il utilise 32.0.0, alors faites attention à la version mise à jour (dans mon cas, 38.0.0 était bon pour 09/2020)


0 commentaires

0
votes

Supprimez simplement le dossier node_modules de votre application, puis exécutez npm install pour obtenir les dépendances.

Maintenant, lancez expo start ou npm start , le code QR se chargera maintenant.


0 commentaires