console.ignoredYellowBox как узнать, какой префикс использовать?

У меня есть один общий вопрос и два более конкретных.

  1. Как из предупреждающего сообщения желтого ящика узнать, как его игнорировать в React-Native?
  2. Как мне проигнорировать это конкретное предупреждение?

3. И как мне проигнорировать это конкретное предупреждение?

Все, что в документации React-Native говорится о игнорировании определенных предупреждений:

"Желтые ящики можно отключить во время разработки с помощью console.disableYellowBox = true;. Определенные предупреждения можно игнорировать программным путем, устанавливая массив префиксов, которые следует игнорировать: console.ignoredYellowBox = ['Warning: ...'];."

Итак, React-Native предлагает этот фрагмент кода, но я не знаю, как указать название предупреждения:

console.ignoredYellowBox = ['Warning: ReactNative.createElement'];

2 ответа

Решение

Хотя это подробно не рассматривается в документах, но, глядя на код компонента YellowBox, мы видим, что для фильтрации предупреждений используется простое совпадение строк:

return (
  Array.isArray(console.ignoredYellowBox) &&
  console.ignoredYellowBox.some(
    ignorePrefix => warning.startsWith(String(ignorePrefix))
  )
);

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

console.ignoredYellowBox = [
  'NetInfo\'s "change" event', // Safe to ignore because reasons
  'Using <Image> with children' // TODO: Will be fixed in release foo
];

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

В будущих выпусках React Native console.ignoredYellowBox будет объявлен устаревшим и заменен YellowBox.ignoreWarnings который будет работать идентичным образом.

"Чтобы отключить желтое поле, поместите console.disableYellowBox = true; в любом месте вашего приложения. Обычно в корневом файле, поэтому оно будет применяться как для iOS, так и для Android".

Если вы хотите лучше контролировать эти сообщения, перейдите по этой ссылке для получения более подробной информации: Отключите желтый флажок в React Native

Другие вопросы по тегам