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



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




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




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

720   11  

11 ответов:

для react-nativev0.57+:

import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);

ссылка на это из официальных документов React Native:

https://facebook.github.io/react-native/docs/debugging.html

react-nativev0.56или ниже:

добавьте в начале кода следующее:

console.ignoredYellowBox = ['Remote debugger'];

легко, просто и специфично для этой ошибки. Работать на меня. Может заменить любой текст вы хотеть.

вы можете использовать отладчик React Native, доступный по адресу https://github.com/jhen0409/react-native-debugger это автономное приложение для отладки React Native apps во время разработки.

Это решение работает для меня

открыть/переместить http://localhost:8081/debugger-ui (путь по умолчанию для удаленной отладки) на отдельном окне

может быть, это может помочь :)

  1. движение http://localhost:*****/debugger-ui в отдельном окне.
  2. перезагрузка Remote JS Debugging.

эта проблема была решена, когда я закрыл все открытые окна Chrome и снова начал отладку удаления. Раньше у меня были открытые окна Chrome, поэтому "кажется", что их открытие убивает производительность.

Это из-за количества вкладок открыто в браузере с React Native Remote Debugger UI tab. Я также столкнулся с той же проблемой.

чтобы преодолеть это предупреждение, вы можете использовать любой из следующих методов:

  • откройте вкладку инкогнито и вставьте http://localhost:8081/debugger-ui в адресной строке и нажмите введите. Наконец, перезагрузите приложение (Команда+R).

  • закрыть все вкладки в браузере. Держите только 1 вкладку открытой, затем нажмите http://locahost:8081/debugger-ui перезагрузите приложение (Команда+R).

Как упоминалось @jakeforaker в одном из комментариев. Предупреждение ушло, просто открыв удаленный отладчик в отдельном окне вместо вкладки в существующем окне вашего браузера(вы должны перезагрузить свой симулятор).

как говорится в предупреждении, сохраняя удаленный отладчик в том же окне, что и другие вкладки

может привести к тому, что приложения будут работать медленно

Так что я думаю, просто подавляя предупреждение, Как упоминалось @kjonsson: -console.ignoredYellowBox = ['Remote debugger']; не кажется, что это лучшее решение.

Я думаю, что принятый ответ больше не является точным (по крайней мере, для React Native v0.57+).

правильный код выглядит так:

import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);

ссылка на это из официальных документов React Native:

https://facebook.github.io/react-native/docs/debugging.html

вчера у меня была такая же проблема. Гуглить это привело к этому сообщение переполнения стека. В одном из ответов (адрианспрод) он предложил:

Chrome debugger in it's own window fixes. But annoying problem

вероятно, что ваш собственный отладчик React находится не в своем собственном окне браузера Chrome, а на вкладке браузера Chrome. Вытащив его как свое собственное окно, как предлагает адрианспрод, исправил это для меня.

сообщение об ошибке (очень раздражает) обрабатывается 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).'
    );
  };
})();

Как вы видите, параметры конфигурации не используются, все это локально ограничено (см. ссылку выше repo за дополнительной информацией.)

Я тоже столкнулся с такой же проблемой около недели назад и, наконец, я нашел решение, которое работает отлично для меня

Он называется reactotron, вы можете найти его здесь -https://github.com/reactotron/reactotron и вы можете использовать его для:
* Просмотр состояния приложения
* показать запросы API и ответы
* выполнение быстрых тестов производительности
* подписка на части вашего состояния приложения
* отображение сообщения приставка.журнал
* отслеживание глобальных ошибок с исходными отображенными трассировками стека, включая трассировки стека saga!
* диспетчерские действия, такие как правительственный эксперимент по управлению разумом
* горячая замена состояния вашего приложения
* отслеживание саг

Я надеюсь, что мой пост был полезен и вы никогда не столкнулись с этой нудной предупреждение .

удачи

Comments

    Ничего не найдено.