React native Android — ошибка при сбое сетевого запроса методом fetch()

#android #react-native #fetch #react-native-android

#Android #выборка #react-native

Вопрос:

В настоящее время мое приложение не работает и выводит сообщение об ошибке «сбой сетевого запроса».

URL указан правильно — URL правильно отображается в Chrome, однако он не работает только на Android.

Я предполагаю, что это в основном потому, что я использую частный сертификат для https.

Ниже приведен мой код, пожалуйста, дайте мне знать, если найдете ответ.

выборка (url) .затем(res => res.json()) .затем( (результат) => { const CompanyName = результат[‘name’]; const CompanyID = ‘ID’ результат [‘id’];

       this.setState({
        isLoaded: true,
        siteData: result,
        companyName: companyName,
        companyID: companyId
      });
    }
  )
  .catch((error) => {
    console.log(error);
    this.setState({
      isLoaded: false,
      error
    });
  });
  

Ответ №1:

Ответ в порядке, но в моем случае мне также пришлось изменить манифест:

 <application
...
android:usesCleartextTraffic="true"
...>
  

Ответ №2:

Ах, это отлично работает с http — фактической проблемой был https с самосертификацией.

По-видимому, компонент выборки данных в Android блокирует https-сертификат self из-за проблемы с безопасностью.