ReactNativeでignoredYellowBoxではなくYellowBox.ignoreWarningsを使う

1 min read読了の目安(約800字

記事作成日: 2020/02/13

React NativeでfirebaseのSDKを使った場合など、Setting a timer for a long period of time,...のようなsetTimeoutに関するwarningが発生する。

なかなか外部ライブラリに依存していたりすると解決は難しい一方、毎回黄色いボックスでタブが埋められるのもなかなかに困る

上記エラーでは、同時に下記のissueへの案内が掲示される。

https://github.com/facebook/react-native/issues/12981

ここで下記のようなエラーをサスペンドするような方法が掲示されている。

https://github.com/facebook/react-native/issues/12981#issuecomment-302059217
console.ignoredYellowBox = ['Setting a timer'];

しかしこのconsole.ignoredYellowBoxは最新のreact-nativeでは動かなくなっている。

この情報を追いかけると下記のissueを発見した

https://github.com/facebook/react-native/issues/17503#issuecomment-357252144

ということで

import {YellowBox} from 'react-native'
YellowBox.ignoreWarnings([
  'Setting a timer'
])

とすればひとまず隠す事ができる

公式ドキュメントでも確認することが出来た

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