Логи и консоль
В React Native для вывода отладочной информации и диагностики ошибок используется стандартный API console, такой как console.log(), console.warn() и console.error(). Эти вызовы работают так же, как в браузере, но их отображение зависит от среды разработки.
Где появляются логи
- При запуске через Metro (
npx react-native run-android/run-iosилиexpo start) сообщения изconsole.log()выводятся в терминал, где запущен Metro-сервер. - Если подключён Flipper, все логи автоматически перехватываются и отображаются во вкладке Logs с возможностью фильтрации по уровню (info, warn, error).
- В браузерном отладчике (устаревший режим через Dev Menu → Debug) логи появляются в консоли DevTools браузера.
Типы сообщений и их отображение
console.log('Сообщение')— обычное информационное сообщение. В терминале отображается без выделения.console.warn('Предупреждение')— жёлтое уведомление на устройстве («Yellow Box»). Не останавливает выполнение, но указывает на потенциальную проблему (например, устаревшее API).console.error('Ошибка')— красный экран ошибки («Red Box»). Прерывает выполнение и показывает стек вызовов. Используется при критических ошибках, таких как синтаксические ошибки или необработанные исключения.
Как читать ошибки
Красный экран содержит:
- Краткое описание ошибки.
- Имя файла и номер строки, где произошла ошибка.
- Стек вызовов — цепочка функций, приведших к ошибке.
Пример ошибки:
TypeError: undefined is not an object (evaluating 'user.name')
Это означает, что переменная user равна undefined, и попытка прочитать свойство name завершилась неудачей.
Рекомендации
- Используйте
console.log()умеренно — не оставляйте их в production-коде. - Для временного отключения всех логов можно переопределить
console.logв production-сборке. - Жёлтые предупреждения стоит исправлять: они часто указывают на проблемы, которые в будущем могут стать ошибками.
Понимание логов и умение читать ошибки — ключевой навык при разработке мобильных приложений, особенно учитывая отсутствие привычной браузерной консоли.