Проверка сбоя при отключении интернета React-native android

Я столкнулся с очень забавной проблемой в приложении, поддерживающем реакцию. У меня есть проект, который почти полностью разработан. Дело в том, что приложение для Android вылетает, как только отключается Интернет, чего нельзя сказать о iOS. Вот что я получил на Crashlytics по поводу сбоя -

Fatal Exception: com.facebook.react.common.JavascriptException: undefined is not a function (evaluating 'n({type:e.connectionType,effectiveType:e.effectiveConnectionType})'), stack:
<unknown>@287:358
value@32:1366
value@18:3177
<unknown>@18:911
value@18:2606
value@18:883

       at com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(ExceptionsManagerModule.java:56)
       at com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(ExceptionsManagerModule.java:40)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:374)
       at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:162)
       at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
       at android.os.Looper.loop(Looper.java:155)
       at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:194)
       at java.lang.Thread.run(Thread.java:818)

Во время отладки я получаю этот красный оверлей на Android, поэтому кто-нибудь может подсказать, как найти основную причину сбоя. Для начала я вижу, что в проекте использовались оба

NetInfo.isConnected.addEventListener(
            'connectionChange',
            this.connectivityChangeListener
        );

в некоторых местах и ​​в некоторых местах

let isConnected = await NetInfo.isConnected.fetch();

для обнаружения сетевого подключения.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
708
1

Ответы 1

попробуйте так,

NetInfo.getConnectionInfo().then((connectionInfo) => {
  console.info('Initial, type: ' + connectionInfo.type + ', effectiveType: ' + connectionInfo.effectiveType);
});

function handleFirstConnectivityChange(connectionInfo) {
  console.info('First change, type: ' + connectionInfo.type + ', effectiveType: ' + connectionInfo.effectiveType);
  NetInfo.removeEventListener(
    'connectionChange',
    handleFirstConnectivityChange
  );
}

// используйте это так,

NetInfo.addEventListener(
  'connectionChange',
  handleFirstConnectivityChange
);

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