Подтвердить что ты не робот

Избавиться от предупреждения "Удаленный отладчик в фоновом режиме" в React Native

Я начал новый проект React Native, и я продолжаю получать следующее предупреждение:

Удаленный отладчик находится в фоновом режиме, что может замедлить работу приложений. Исправьте это, переместив вкладку (или откройте ее в отдельном окне).

Это немного раздражает, поэтому я хочу знать, как я могу избавиться от него? Я запускаю отладчик в Chrome, и я переместил его в отдельное окно, но это не помогло.

4b9b3361

Ответ 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