API выборки не работает, когда включен прогард. Ниже приведен фрагмент кода
try {
const response = await fetch(url, {
method: 'GET',
headers: {
'Content-Type': "application/json",
'Accept': 'application/json'
}
});
} catch (err) {
console.info(err)
}
Я могу отследить отладчик до вызова выборки. Но после этого нет ни ошибки, ни ответа. В консоли также нет ошибок / предупреждений. Любая помощь в том, как отлаживать / решать это, очень ценится.
Я использую RN v0.55.4 (последняя)





Метод fetch () принимает один обязательный аргумент - путь к ресурсу, который вы хотите получить. Он возвращает обещание, которое разрешается в ответ на этот запрос, независимо от того, успешен он или нет.
you need to modify like below
fetch(url)
.then((resp) => resp.json()) // Transform the data into json
.then(function(data) {
// your code logic with the response
})
})
Выдает ли он какую-либо ошибку, что-то вроде undefined или что-то еще
обновите свой вопрос, указав URL-адрес, к которому вы пытались получить доступ
Чтобы исправить это, добавлено следующее правило proguard
-optimizations !method/*/*,!code/*/*
Когда Proguard включен (что по умолчанию для сборок выпуска Android), он может переименовать Java-класс BuildConfig в процессе минификации и запретить Fetch ссылаться на него.
Чтобы этого избежать, добавьте исключение в android / app / proguard-rules.pro:
-keep class com.mypackage.BuildConfig { *; }
Это имя пакета должно совпадать с именем пакета вашего приложения.
Также добавьте правила Progurad для Okhttp3 и Okio.
Последний прогард может выглядеть так для проекта React Native.
-keep public class com.horcrux.svg.** {*;}
-keep class com.facebook.react.turbomodule.** { *; }
-dontwarn okio.**
-keep class com.swiggyvendorapp.BuildConfig { *; }
-dontwarn com.squareup.okhttp.**
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-dontwarn retrofit.**
-dontwarn retrofit.appengine.UrlFetchClient
-keep class retrofit.** { *; }
-keepclasseswithmembers class * {
@retrofit.http.* <methods>;
}
-keepattributes Signature
-keepattributes *Annotation*
Я знаю об этом. Если вы видите, перед вызовом fetch стоит ожидание. Он никогда не вернется. т.е. обещание никогда не разрешается / не отклоняется