React Nativeをアップグレードしたばかりですが、iOSシミュレーターには多数の警告があります。それらを修正するだけでなく、これらの警告を非表示にして、下にあるものを確認するにはどうすればよいですか?
React Native Documentation によると、次のようにdisableYellowBox
をtrue
に設定することにより、警告メッセージを非表示にできます。
console.disableYellowBox = true;
特定の警告(最新かつ最高のRNバージョンへのアップグレード後に無期限に表示される)を選択的に非表示にするより良い方法は、プロジェクトの一般的なJSファイルに console.ignoredYellowBox を設定することです。たとえば、今日私のプロジェクトをRN 0.25.1にアップグレードした後、私は多くを見ました...
警告:ReactNative.createElementは非推奨です...
React-Nativeから有用な警告とエラーメッセージを引き続き表示できるようにしたいのですが、RN 0.25の重大な変更がまだ組み込まれていない外部npmライブラリからのものであるため、この特定の警告を無効にします。したがって、私のApp.jsにこの行を追加します...
// RN >= 0.52
import {YellowBox} from 'react-native';
YellowBox.ignoreWarnings(['Warning: ReactNative.createElement']);
// RN < 0.52
console.ignoredYellowBox = ['Warning: ReactNative.createElement'];
この方法では、開発環境に役立つ他のエラーや警告が表示されますが、特定のエラーや警告は表示されなくなりました。
黄色のボックスの場所を無効にするには
console.disableYellowBox = true;
アプリケーションのどこにでも。通常はルートファイルにあるため、iOSとAndroidの両方に適用されます。
例えば
export default class App extends React.Component {
render() {
console.disableYellowBox = true;
return (<View></View>);
}
}
index.jsファイルに次のコードを追加します
console.disableYellowBox = true;
import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';
console.disableYellowBox = true;
AppRegistry.registerComponent(appName, () => App);
デモなどを行っているために特定のビルドでそれらを非表示にしたい場合は、Xcodeスキームを編集してリリースビルドにすることができ、これらの黄色の警告は表示されません。さらに、アプリははるかに高速に実行されます。
以下を実行して、シミュレーターと実際のデバイスのスキームを編集できます。
Product
> Scheme
> Edit Scheme...
Build Configuration
をDebug
からRelease
に変更します。黄色のボックスを無効にするには、アプリケーションの任意の場所にconsole.disableYellowBox = true;
を配置します。通常はルートファイルにあるため、iOSとAndroidの両方に適用されます。
詳細については、 公式ドキュメント をご覧ください。
console.disableYellowBox = true;
これはアプリケーションレベルで機能し、index.jsファイルのどこにでも配置できます
この方法で来て、コンソールからの赤い警告を無効にしようとして、絶対に役に立たない情報を与える場合、feb/17の時点で、このコード行をどこかに追加できます。
console.error = (error) => error.apply;
すべてのconsole.error
を無効にします
(ただし、独自のコードではない)
なぜ:新しいRNアプリを初期化するとき、Xcodeプロジェクトには100近い警告が含まれており、ノイズが気を散らします(ただし、おそらく無害です)
solution:set すべての警告を禁止 to yes under ビルド設定関連するターゲット用。
AppDelegate.mファイルで、次の行を変更できます。
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
最後にdev=true
をdev=false
に置き換えます。