新しいReactNativeプロジェクトを開始しましたが、次の警告が表示され続けます。
リモートデバッガーはバックグラウンドタブにあるため、アプリのパフォーマンスが低下する可能性があります。タブを前景にする(または別のウィンドウで開く)ことでこれを修正します。
それは少し面倒なので、どうすればそれを取り除くことができるか知りたいですか?Chromeでデバッガーを実行していて、別のウィンドウに移動しましたが、役に立ちませんでした。
新しいReactNativeプロジェクトを開始しましたが、次の警告が表示され続けます。
リモートデバッガーはバックグラウンドタブにあるため、アプリのパフォーマンスが低下する可能性があります。タブを前景にする(または別のウィンドウで開く)ことでこれを修正します。
それは少し面倒なので、どうすればそれを取り除くことができるか知りたいですか?Chromeでデバッガーを実行していて、別のウィンドウに移動しましたが、役に立ちませんでした。
回答:
プロジェクト全体の警告を取り除くには、最も外側の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'];
簡単、シンプル、そしてそのエラーに固有のもの。私のために働きます。必要なテキストの代わりに使用できます。
index.js
。チャームのように機能します。if (__DEV__) { console.ignoredYellowBox = ['Remote debugger']; }
[eslint] '__DEV__' is not defined. (no-undef)
。あなたもそれを手に入れますか?
YellowBox.ignoreWarnings(['Remote debugger', 'Require cycles']);
いますが、コンソールウィンドウ内に両方の警告が表示されます。RNの0.61.4バージョンを使用しています。助けてください
この解決策は私のために働いています
別のウィンドウでhttp:// localhost:8081 / debugger-ui(リモートデバッグのデフォルトパス)を開く/移動する
多分それは役立つかもしれません:)
https://github.com/jhen0409/react-native-debuggerで入手可能なReactNativeDebuggerを使用できます。これは、開発中にReactNativeアプリをデバッグするためのスタンドアロンアプリです。
console.ignoredYellowBox = ['Remote debugger'];
これは、React Native Remote DebuggerUIタブを使用してブラウザーで開かれるタブの数が原因です。私も同じ問題に直面しました。
この警告メッセージを克服するには、次のいずれか1つの方法を使用できます。
シークレットタブを開き、アドレスバーにhttp:// localhost:8081 / debugger-uiを貼り付けて、Enterキーを押します。最後にアプリをリロードします(Command + R)。
ブラウザのすべてのタブを閉じます。1つのタブのみを開いたままにして、http:// locahost:8081 / debugger-uiを押し、アプリをリロードします(Command + R)。
コメントの1つで@jakeforakerが述べたように。この警告は、ブラウザの既存のウィンドウのタブではなく、別のウィンドウでリモートデバッガを開くだけで解消されました(ただし、シミュレータをリロードする必要があります)。
警告が言っているように、リモートデバッガーを他のタブと同じウィンドウに保持する
アプリのパフォーマンスが低下する可能性があります
したがって、@ kjonssonが述べているように、単に警告を抑制console.ignoredYellowBox = ['Remote debugger'];
することは最善の解決策ではないようです。
受け入れられた答えはもはや正確ではないと思います(少なくともReact Native v0.57 +の場合)。
正しいコードは次のとおりです。
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);
公式のReactNativeドキュメントからこれを参照してください:
昨日同じ問題が発生しました。それをグーグルすると、このStackOverflowの投稿につながりました。(adriansprodによる)応答の1つで、彼は次のように提案しました。
Chrome debugger in it's own window fixes. But annoying problem
React Nativeデバッガーは、独自のChromeブラウザーウィンドウではなく、Chromeブラウザータブにある可能性があります。adriansprodが示唆するように、それを独自のウィンドウとして引き出すと、これが修正されました。
(非常に迷惑な)エラーメッセージはによって処理されますが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).'
);
};
})();
ご覧のとおり、構成オプションは使用されておらず、すべてがローカルでスコープオフされています(詳細については、上記のリポジトリリンクを参照してください)。
私も約1週間前に同じ問題に直面し、ついに私にとって優れた解決策を見つけました
これはreactotronと呼ばれ、ここで見つけることができます-https ://github.com/reactotron/reactotronそしてそれを使用して次のことができます:
*アプリケーションの状態を表示する
* APIリクエストとレスポンスを表示する
*クイックパフォーマンスベンチマークを実行する
*あなたの一部をサブスクライブするアプリケーションの状態
* console.logと同様のメッセージを表示します
* sagaスタックトレースを含むソースマップスタックトレースでグローバルエラーを追跡します!
*政府が運営するマインドコントロール実験のようなアクションをディスパッチし
ます
*アプリの状態をホットスワップします*サガを追跡します
私の投稿がお役に立てば幸いです。この退屈な警告に直面することは決してないでしょう。
幸運を
「http:// localhost:8081 / debugger-ui /」ウィンドウを最小化しました。それを開いて(最小化せずに)、アプリをリロードするだけで警告が削除されました。