Comment capturer les erreurs dans React Native : 1. Ouvrez le fichier de réaction correspondant ; 2. Utilisez la méthode "require('ErrorUtils').setGlobalHandler(function(err) {...})" pour capturer les erreurs et donner aux utilisateurs des conseils raisonnables.
L'environnement d'exploitation de ce tutoriel : système Windows 10, React version 18.0.0, ordinateur Dell G3.
Comment détecter les erreurs dans React Native ?
Capture et traitement des erreurs React Native
Les développeurs qui utilisent souvent des packages de version pour les tests peuvent constater que dans la version finale, si une erreur de script se produit, elle plantera toujours directement. Nous souhaiterons peut-être capturer ce type d'erreur, donner aux utilisateurs des invites raisonnables et collecter les détails de l'erreur pour aider à améliorer les versions ultérieures. À l'heure actuelle, vous pouvez utiliser le code suivant :
require('ErrorUtils').setGlobalHandler(function(err) { // 做你自己的任何处理 });
Le code expérimental est le suivant :
require('react-native') require('ErrorUtils').setGlobalHandler(function (err) { console.log('Just ignore'); }); setTimeout(()=>{ throw new Error(‘Ouch'); }, 10000); require('./src/app'); // 正常启动app
10 secondes après le démarrage de l'application par la version finale, vous pouvez voir la sortie de Just ignore via adb logcat ou XCode, et non un crash est déclenché, indiquant que l'interception est réussie.
Remarque
Bien que des erreurs globales puissent être interceptées, si l'erreur provient de la fonction render() ou du cycle de vie du composant, votre application risque de ne pas être en mesure de récupérer de l'état d'erreur et de continuer à s'exécuter si vous essayez de continuer. en cours d'exécution, d'autres erreurs peuvent survenir. Par conséquent, il est recommandé d’utiliser cette méthode uniquement pour la collecte des erreurs et les invites raisonnables, plutôt que comme méthode générale de gestion des erreurs.
Apprentissage recommandé : "Tutoriel vidéo React"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!