ReactNativeの「リモートデバッガーはバックグラウンドタブにあります」という警告を取り除きます


86

新しいReactNativeプロジェクトを開始しましたが、次の警告が表示され続けます。

リモートデバッガーはバックグラウンドタブにあるため、アプリのパフォーマンスが低下する可能性があります。タブを前景にする(または別のウィンドウで開く)ことでこれを修正します。

それは少し面倒なので、どうすればそれを取り除くことができるか知りたいですか?Chromeでデバッガーを実行していて、別のウィンドウに移動しましたが、役に立ちませんでした。


これを読んでいる他の人にとって、必要なのはこれらの警告を無視するのではなく、より高速なデバッガーだと思います。以下の@varunvsによるreact-native-debuggerの使用に対する回答は、警告を削除し、デバイスの出力時間を短縮します
Vineeth Pradhan 2018年

3
正解(以下)は、デバッガーページの[優先度の維持]チェックボックスをオンにするだけです。
orome

回答:


148

プロジェクト全体の警告を取り除くには、最も外側のJavascriptファイルに以下を追加します(ほとんどのindex.js場合、React Native用です)。

react-nativeの場合 v0.57+

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

公式のReactNativeドキュメントからこれを参照してください:

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

react-native v0.56 以下:

コードの早い段階で以下を追加します。

console.ignoredYellowBox = ['Remote debugger'];

簡単、シンプル、そしてそのエラーに固有のもの。私のために働きます。必要なテキストの代わりに使用できます。


AppRegistry.registerComponentステートメントの直前にこれを追加しました。ありがとう
–İlterKağanÖcal 2017

1
このコードをトップレベルに配置しましたindex.js。チャームのように機能します。if (__DEV__) { console.ignoredYellowBox = ['Remote debugger']; }
マイク

@MikeS。警告が出ました[eslint] '__DEV__' is not defined. (no-undef)。あなたもそれを手に入れますか?
anticafe 2018

@anticafeいいえ、警告は表示されません。だから私は問題が何であるかわかりません。
マイク

使用してYellowBox.ignoreWarnings(['Remote debugger', 'Require cycles']);いますが、コンソールウィンドウ内に両方の警告が表示されます。RNの0.61.4バージョンを使用しています。助けてください
ArchanaSharma19年

39

この解決策は私のために働いています

別のウィンドウでhttp:// localhost:8081 / debugger-ui(リモートデバッグのデフォルトパス)を開く/移動する

多分それは役立つかもしれません:)


5
タブを通常の37個のタブのグループから独自のウィンドウに移動するだけです。ありがとう
jakeforaker 2018

うん、それはうまくいく。しかし、それはなぜですか?
ランジャン

24

https://github.com/jhen0409/react-native-debuggerで入手可能なReactNativeDebuggerを使用できますこれは、開発中にReactNativeアプリをデバッグするためのスタンドアロンアプリです。


3
おかげで、私は間違いなくそれを試してみるつもりですが、それは警告を解決しないので、それは私が答えとして探しているものではありません。同じコンピューター上の他のRNアプリで奇妙なことに警告が表示されない
mxmtsk 2016

1
同様の問題がありましたが、ReactNativeデバッガーを使用すると解決しました。
varunvs 2016

おかげで、デバッガーを独自のウィンドウに保持しても警告が常に消去されるわけではないため、このソリューションを選択しました
mxmtsk 2016

2
警告を削除するためだけに別のツールをインストールすることは最善の解決策ではなく、他のツールには独自の問題があります。-正解は以下kjonssonの一つですconsole.ignoredYellowBox = ['Remote debugger'];
ローラン

1
@ this.lau_それは警告を隠し、実際の問題を修正しないだけではありませんか?私たちが対処しようとしている問題は、デバッグ中の遅いアプリのパフォーマンスを修正することだと思います。警告を強制的に非表示にしても、修正されません。
varunvs 2017年


6

これは、React Native Remote DebuggerUIタブを使用してブラウザーで開かれるタブの数が原因です。私も同じ問題に直面しました。

この警告メッセージを克服するには、次のいずれか1つの方法を使用できます。


6

コメントの1つで@jakeforakerが述べたように。この警告は、ブラウザの既存のウィンドウのタブではなく、別のウィンドウでリモートデバッガを開くだけで解消されました(ただし、シミュレータをリロードする必要があります)。

警告が言っているように、リモートデバッガーを他のタブと同じウィンドウに保持する

アプリのパフォーマンスが低下する可能性があります

したがって、@ kjonssonが述べているように、単に警告を抑制console.ignoredYellowBox = ['Remote debugger'];することは最善の解決策ではないようです。


5

この問題は、開いているすべてのChromeウィンドウを閉じて、デバッグの削除を再開したときに解決されました。以前にChromeウィンドウを開いていたので、開いているとパフォーマンスが低下するようです。


5

2017年3月のこのコミット以降、[優先度維持]チェックボックスを有効にできます。有効にすると、base64でエンコードされたファイルがサイレントに再生さ.wavれ、デバッガーのブラウザータブが低電力モードになり、WebSocketのパフォーマンスに影響を与えるのを防ぎます。これにより、説明する警告を効果的に防ぐことができます。



2

私はMacbookを使用しています。「バックグラウンド」にあると思われる別のデスクトップにデバッガウィンドウを配置するのではなく、メインデスクトップにデバッガウィンドウを表示することで、この問題を修正しました。

ここに画像の説明を入力してください


0

昨日同じ問題が発生しました。それをグーグルすると、このStackOverflowの投稿につながりました。(adriansprodによる)応答の1つで、彼は次のように提案しました。

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

React Nativeデバッガーは、独自のChromeブラウザーウィンドウではなく、Chromeブラウザータブにある可能性があります。adriansprodが示唆するように、それを独自のウィンドウとして引き出すと、これが修正されました。


0

(非常に迷惑な)エラーメッセージはによって処理されますが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).'
    );
  };
})();

ご覧のとおり、構成オプションは使用されておらず、すべてがローカルでスコープオフされています(詳細については、上記のリポジトリリンクを参照してください)。


0

私も約1週間前に同じ問題に直面し、ついに私にとって優れた解決策を見つけました

これはreactotronと呼ばれ、ここで見つけることができます-https ://github.com/reactotron/reactotronそしてそれを使用して次のことができます:
*アプリケーションの状態を表示する
* APIリクエストとレスポンスを表示する
*クイックパフォーマンスベンチマークを実行する
*あなたの一部をサブスクライブするアプリケーションの状態
* console.logと同様のメッセージを表示します
* sagaスタックトレースを含むソースマップスタックトレースでグローバルエラーを追跡します!
*政府が運営するマインドコントロール実験のようなアクションをディスパッチし
ます
*アプリの状態をホットスワップします*サガを追跡します

私の投稿がお役に立てば幸いです。この退屈な警告に直面することは決してないでしょう。

幸運を


0

私はこれを index.js

if (__DEV__) {
  console.ignoredYellowBox = [
    'Remote debugger',
    'Warning: isMounted… is deprecated',
    'Module RCTImageLoader'
  ];
}

私はまた、インポートimport { AppRegistry, YellowBox } from 'react-native';
マイク・S.

新しいアプリでこれを再テストしたところ、機能していないようですが。何かが変わったの0.57.4だろうか?
マイク


0

別のデバッガーが既にパッケージャーに接続されている可能性があります。ターミナルとデバッガーのグーグルクロームを閉じます。

Visual Studioのパッケージマネージャーを使用している場合は、Mac /その他のOSターミナルコマンドでパッケージマネージャーを起動しないでください。

したがって、すべてのターミナルを閉じて、パッケージマネージャーとグーグルクロームデバッガーの実行を停止します。プロセスを再開します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.