React-native android cihazda chrome debugger ile çalışırken yaşanan fetch problemi
React-native ile problemler serisinde bugün 0.22 sürümüyle beraber gelen fetch probleminden bahsetmek istiyorum.
Bildiğiniz gibi react-native kütüphanesi içerisinde gelen fetch() metodu ile bir api’den data çekebiliyoruz.
react-native 0.22 sürümünde android telefon yada emulatör ile debugger modda çalışırken fetch() isteğinden response dönmediğini farkettim. İstek yapılıyor, api’lere erişiliyor fakat response dönmüyordu. Öncelikle kendi içimdeki yazılımsal olarak problem olabilecek konulara baktıktan sonra github’da bir issue’a denk geldim. Sorunu yaşayan tek ben değilmişim.
Github-6679
Buradan hareketle, iki çözüm var.
1. yöntem
fetch('http://example.com') .then(response => { setTimeout(() => null, 0); return response.text(); }) .then(response => { console.log(response); });
buradaki gibi setTimeout ile tetikletmek.
2. yöntem ise fetch() gerektiği gibi apiden gelince ekranın herhangi bir yerine dokunarak response’u tetiklemek.
İpucu: her fetch() için ayrı dokunuş lazım.
problemi react-native 0.30 sürümüyle çözmüş olsalarda, facebook’a yakışmadığını söyleyebiliriz.
Okuduğunuz için teşekkürler.
Serinin tüm başlıklarına aşağıdaki adresten ulaşabilirsiniz.