Избавиться от предупреждения "Удаленный отладчик в фоновом режиме" в React Native
Я начал новый проект React Native, и я продолжаю получать следующее предупреждение:
Удаленный отладчик находится в фоновом режиме, что может замедлить работу приложений. Исправьте это, переместив вкладку (или откройте ее в отдельном окне).
Это немного раздражает, поэтому я хочу знать, как я могу избавиться от него? Я запускаю отладчик в Chrome, и я переместил его в отдельное окно, но это не помогло.
Ответы
Ответ 1
Чтобы избавиться от предупреждения во всем вашем проекте, добавьте следующее в ваш самый внешний файл Javascript (большую часть времени это index.js
для React Native)
для v0.57+
:
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);
Ссылка на это из официальных документов React Native:
https://facebook.github.io/react-native/docs/debugging.html
реагирует-родную v0.56
или ниже:
Добавьте в начале следующий код:
console.ignoredYellowBox = ['Remote debugger'];
Легко, просто и конкретно для этой ошибки. Работает для меня. Может заменить любой текст, который вы хотите.
Ответ 2
это решение для меня работает
открыть/переместить http://localhost:8081/debugger-ui (путь по умолчанию для удаленной отладки) в отдельном окне
возможно, это могло бы помочь:)
Ответ 3
Вы можете использовать React Native Debugger, доступный в https://github.com/jhen0409/react-native-debugger Это автономное приложение для отладки React Native apps во время разработки.
Ответ 4
- Переместите
http://localhost:*****/debugger-ui
в отдельном окне.
- Перезагрузите
Remote JS Debugging
.
Ответ 5
Эта проблема была решена, когда я закрыл все открытые окна Chrome и снова начал удаление отладки. Раньше у меня были открытые Chrome-окна, поэтому "кажется", что они открывают производительность.
Ответ 6
Это связано с тем, что в браузере открывается вкладка с пользовательским интерфейсом React Native Remote Debugger. Я также столкнулся с той же проблемой.
Чтобы преодолеть это предупреждающее сообщение, вы можете использовать любой из следующих методов:
Ответ 7
Как упомянуто @jakeforaker в одном из комментариев. Предупреждение исчезло, просто открыв удаленный отладчик в отдельном окне вместо вкладки в существующем окне вашего браузера (хотя вы должны перезагрузить симулятор).
В предупреждении говорится, что удаленный отладчик должен находиться в том же окне, что и другие вкладки.
может заставить приложения работать медленно
Поэтому я думаю, что просто отключить предупреждение, как упомянуто @kjonsson: - console.ignoredYellowBox = ['Remote debugger'];
не кажется лучшим решением.
Ответ 8
Я думаю, что принятый ответ уже не точен (по крайней мере, для React Native v0. 57+).
Правильный код сейчас:
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);
Ссылка на это из официальных документов React Native:
https://facebook.github.io/react-native/docs/debugging.html
Ответ 9
Вчера у меня была такая же проблема. В результате Google это привело к Post overflow post. В одном из ответов (adriansprod) он предложил:
Chrome debugger in it own window fixes. But annoying problem
Вероятно, ваш отладчик React Native не находится в собственном окне браузера Chrome, а на вкладке браузера Chrome. Вытягивая это как собственное окно, как предположил adriansprod, исправил это для меня.
Ответ 10
Сообщение об ошибке (очень раздражающее) обрабатывается debuggerWorker.js
, который, к сожалению, не содержит никаких параметров конфигурации, чтобы отключить сообщение. Поэтому пока нет способов настроить приложение для отключения сообщения.
Соответствующий код описан ниже (оригинальная лицензия):
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).'
);
};
})();
Как вы видите, параметры конфигурации не используются, все это локализовано локально (см. выше ссылку на репо для более подробной информации).
Ответ 11
Я тоже столкнулся с той же проблемой около недели назад, и, наконец, я нашел решение, которое отлично работает для меня
Он называется реактотрон, вы можете найти его здесь - https://github.com/reactotron/reactotron, и вы можете использовать его для:
* просмотр состояния приложения
* показать API-запросы и ответы
* выполнять быстрые тесты производительности
* подписаться на части вашего состояния приложения
* отображать сообщения, похожие на console.log
* отслеживать глобальные ошибки с помощью трассировки стека с источником, включая следы стека саги!
* отправка действий, как правительственный эксперимент по контролю ума
* горячая замена вашего состояния приложения
* отслеживать ваши саги
Я надеюсь, что мой пост будет полезен, и вы никогда не столкнетесь с этим утомительным предупреждением.
Удачи.
Ответ 12
Я использую это в index.js
if (__DEV__) {
console.ignoredYellowBox = [
'Remote debugger',
'Warning: isMounted… is deprecated',
'Module RCTImageLoader'
];
}
Ответ 13
Так как эта фиксация в марте 2017 года, вы можете включить флажок Сохранить приоритет. Когда он включен, он автоматически воспроизводит .wav
файл в кодировке .wav
чтобы запретить вкладке браузера отладчика переходить в режим пониженного энергопотребления, что может повлиять на производительность веб-сокета. Это эффективно предотвратит предупреждение, которое вы описываете.
Ответ 14
Я на MacBook. Я исправил эту проблему, перенеся окно отладчика на основной рабочий стол, а не на отдельный рабочий стол, который, по его мнению, находится в "фоновом режиме".
![enter image description here]()