Я столкнулся с очень забавной проблемой в приложении, поддерживающем реакцию. У меня есть проект, который почти полностью разработан. Дело в том, что приложение для 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();
для обнаружения сетевого подключения.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


попробуйте так,
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
);