Выбор ответа Middle Офлайн и хранение обновлено
NetInfo и реальная доступность сети
Вопрос
NetInfo сообщает isConnected: true, но запросы падают. Как это объяснить?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Сеть есть, а интернета может не быть; верить нужно результату запроса. isConnected говорит о наличии сетевого интерфейса.
Варианты ответа
- NetInfo всегда показывает неверное состояние на Android, им нельзя пользоваться
- NetInfo обновляется только после перезапуска приложения
- Запросы в RN не работают, пока NetInfo не подтвердит доступ в интернет
- Сеть есть, а интернета может не быть; верить нужно результату запросаправильный ответ
Разбор
isConnected говорит о наличии сетевого интерфейса. Есть ещё isInternetReachable (проверка доступности), но и он может отставать. Поэтому офлайн-логика опирается на ошибки запросов, а NetInfo используют как подсказку, когда повторить отправку. На обеих платформах поведение корректное, перезапуск не нужен, а запросы от NetInfo не зависят.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.