J'ai lancé un nouveau projet React Native et l'avertissement suivant continue à apparaître:
Le débogueur distant se trouve dans un onglet en arrière-plan, ce qui peut ralentir le fonctionnement des applications. Corrigez cela en mettant en avant l'onglet (ou en l'ouvrant dans une fenêtre séparée).
C'est un peu agaçant alors je veux savoir comment je peux m'en débarrasser? J'exécute le débogueur dans Chrome et je l'ai déplacé vers une fenêtre distincte, mais cela n'a pas aidé.
Pour vous débarrasser de l'avertissement de l'ensemble de votre projet, ajoutez ce qui suit dans votre fichier le plus à l'extérieur Javascript (la plupart du temps il s'agit de index.js
pour React Native)
pour react-nativev0.57+
:
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);
Référencez-le dans les documents officiels React Native:
https://facebook.github.io/react-native/docs/debugging.html
react-nativev0.56
ou inférieur:
Ajoutez ce qui suit au début de votre code:
console.ignoredYellowBox = ['Remote debugger'];
Facile, simple et spécifique à cette erreur. Travaille pour moi. Peut remplacer n'importe quel texte que vous voulez.
cette solution est un travail pour moi
ouvrir/déplacer http: // localhost: 8081/debugger-ui (chemin par défaut du débogage distant) dans la fenêtre séparée
peut-être que cela pourrait aider :)
Vous pouvez utiliser le débogueur natif de React disponible à l’adresse https://github.com/jhen0409/react-native-debugger . Il s’agit d’une application autonome permettant de déboguer les applications natives de React pendant le développement.
http://localhost:*****/debugger-ui
dans la fenêtre séparée.Remote JS Debugging
.Cela est dû au nombre d'onglets ouverts dans le navigateur avec l'onglet d'interface utilisateur React Native Remote Debugger. J'ai aussi fait face au même problème.
Pour surmonter ce message d'avertissement, vous pouvez utiliser l'une des méthodes suivantes:
Ouvrez un onglet de navigation privée puis collez http: // localhost: 8081/debugger-ui sur la barre d’adresse et appuyez sur ET ENTREZ. Rechargez enfin l'application (Commande + R).
Fermez tous les onglets du navigateur. Ne laissez que 1 onglet ouvert, puis appuyez sur http: // locahost: 8081/debugger-ui , puis rechargez l'application (Commande + R).
Ce problème a été résolu lorsque j'ai fermé toutes les fenêtres Chrome ouvertes et démarré à nouveau Supprimer le débogage. J'avais précédemment ouvert des fenêtres Chrome. Il semble donc que leur ouverture tue les performances.
Comme mentionné par @jakeforaker dans l'un des commentaires. L'avertissement a disparu en ouvrant simplement le débogueur distant dans une fenêtre séparée au lieu d'un onglet dans la fenêtre existante de votre navigateur (vous devez cependant recharger votre simulateur).
Comme l'avertissement dit de garder le débogueur distant dans la même fenêtre que les autres onglets
peut ralentir les applications
Donc, je pense que simplement supprimer l'avertissement comme mentionné par @kjonsson: - console.ignoredYellowBox = ['Remote debugger'];
ne semble pas être la meilleure solution.
Je pense que la réponse acceptée n’est plus exacte (du moins pour React Native v0.57 +).
Le code correct est maintenant:
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);
Référencez-le dans les documents officiels React Native:
J'ai également été confronté au même problème il y a environ une semaine et j'ai finalement trouvé une solution qui fonctionne parfaitement pour moi.
Il s’appelle reactotron, vous pouvez le trouver ici - https://github.com/reactotron/reactotron et vous pouvez l’utiliser pour:
* voir l'état de votre application
* afficher les requêtes et réponses de l'API
* effectuer des tests de performance rapides
* s'abonner à des parties de l'état de votre application
* afficher des messages similaires à console.log
* trace les erreurs globales avec les traces de pile mappées par la source, y compris les traces de pile saga!
* déclenche des actions comme une expérience de contrôle de l'esprit menée par le gouvernement
* échange à chaud de l'état de votre application
* Suivez vos sagas
J'espère que mon message a été utile et que vous ne serez jamais confronté à cet avertissement fastidieux.
Bonne chance
J'ai eu le même problème hier. Googler cela a conduit à cette Stack Overflow post . Dans l'une des réponses (par adriansprod), il a suggéré:
Chrome debugger in it's own window fixes. But annoying problem
Il est probable que votre débogueur React Native ne se trouve pas dans sa propre fenêtre de navigateur Chrome mais dans un onglet de navigateur Chrome. Le fait de le sortir comme sa propre fenêtre, comme le suggère un membre, l’a corrigé pour moi.
J'utilise ceci dans index.js
if (__DEV__) {
console.ignoredYellowBox = [
'Remote debugger',
'Warning: isMounted… is deprecated',
'Module RCTImageLoader'
];
}
Le message d'erreur (très ennuyeux) est géré par debuggerWorker.js
, qui n'inclut malheureusement aucune option de configuration pour désactiver le message. Donc, pour le moment, vous ne pouvez pas configurer votre application pour désactiver le message.
Le code associé est décrit ci-dessous ( licence d'origine s'applique):
var visibilityState;
var showVisibilityWarning = (function() {
var hasWarned = false;
return function() {
// Wait until `YellowBox` gets initialized before displaying the warning.
if (hasWarned || console.warn.toString().includes('[native code]')) {
return;
}
hasWarned = true;
console.warn(
'Remote debugger is in a background tab which may cause apps to ' +
'perform slowly. Fix this by foregrounding the tab (or opening it in ' +
'a separate window).'
);
};
})();
Comme vous le voyez, aucune option de configuration n’est utilisée, l’ensemble est délimité localement (voir le lien du rapport ci-dessus pour plus de détails).
Depuis ce commit en mars 2017, vous pouvez activer la case à cocher Conserver la priorité. Lorsqu'il est activé, silently lit un fichier .wav
codé en base64 pour empêcher le navigateur du débogueur de passer en mode faible consommation, ce qui peut affecter les performances de WebSocket. Cela empêchera efficacement l'avertissement que vous décrivez.