سلام وقت بخیر
من در یکی از صفحاتم در componentWillMount دارم یه api ایی رو کال میکنم که این یکم زمان بره تا اینکه جوابش بیاد و نمایش بده
مشکل اینجاست که از زمان کال api تا نمایش دادن دیتا صفحه بلاک میشه و دیگه هیچ کدوم از دکمه های صفحه کار نمیکنه
راه حل چیست؟
@hesammousavi
سلام
نه هیچ شرطی نیست
فقط یه fetch هست و نمایش خروجیش بدون هیچ شرطی
ما خروجی fetch رو تو یه استیت آرایه میریزیم بعدش مپ میکنم همین
async fetchAllCredits() {
const UserData = JSON.parse(await AsyncStorage.getItem('UserData'));
const token = UserData.token;
const GetData = await fetch(Utility.BASE_URL + `credit/credit-source`, {
headers: {
'Authorization': token,
},
}).then(response => response.json());
console.log('Data Last AllCredits =============================', GetData)
this.setState({
credits: GetData
});
}
let AllCredits = this.state.credits.map((val, key) => {
return <Picker.Item
label={val.guarantor.name + " " + Utility.MoneyType(val.credit.amount.toString()) + " ریال "}
value={val.id}
key={key}/>
});
return <Picker
itemStyle={{
...Platform.select({
ios: {fontFamily: 'IRANSansMobile', fontWeight: 'bold'},
android: {fontFamily: 'IRANSansMobile_Bold'}
}),
color: 'rgb(98,98,98)',
justifyContent: 'center',
alignSelf: 'center',
width: '100%'
}}
note
mode="dropdown"
selectedValue={this.state.selectedCredits}
onValueChange={this.onValueChange.bind(this)}
>
{AllCredits}
</Picker>
این یه نمونه روش کاره اونی که به مشکل میخوره با همین روشه ولی دیتایی که برمیگردونه زیاده و 100 تا 100 برمیگردونه
ممنون
@hesammousavi
با فلت لیست پیاده سازی کردم یخورده اوضاع بهتر شد ولی بازم بگی نگی دیلی داره
@hesammousavi
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟