Выбор ответа Middle Офлайн и хранение обновлено

NetInfo и реальная доступность сети

Вопрос

NetInfo сообщает isConnected: true, но запросы падают. Как это объяснить?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сеть есть, а интернета может не быть; верить нужно результату запроса. isConnected говорит о наличии сетевого интерфейса.

Варианты ответа

  1. NetInfo всегда показывает неверное состояние на Android, им нельзя пользоваться
  2. NetInfo обновляется только после перезапуска приложения
  3. Запросы в RN не работают, пока NetInfo не подтвердит доступ в интернет
  4. Сеть есть, а интернета может не быть; верить нужно результату запросаправильный ответ

Разбор

isConnected говорит о наличии сетевого интерфейса. Есть ещё isInternetReachable (проверка доступности), но и он может отставать. Поэтому офлайн-логика опирается на ошибки запросов, а NetInfo используют как подсказку, когда повторить отправку. На обеих платформах поведение корректное, перезапуск не нужен, а запросы от NetInfo не зависят.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.