راکت

کار نکردن onPress هم زمان با fetch

سلام دوستان
مشکلی که برای من به وجود اومده این هستش که زمانی که fetch شروع میکنه به دریافت اطلاعات تا گرفتن response اگر روی button تاچ کنید اون button کار نمی کنه...
راه حلی برای این مشکل دارید؟


ثبت پرسش جدید
حسام موسوی
حسام موسوی
تخصص :طراح و برنامه نویس
@hesammousavi6 سال پیشمطرح شد
0

سلام کدتون رو به چه شکلی نوشتید کاملا بستگی به نوع کدتون داره


محمد صادق کریمی
محمد صادق کریمی
تخصص :برنامه نویس
@m.s.karimi.ubuntu6 سال پیشمطرح شد
0

@hesammousavi
تابعی که fetch داخل اون قرار داره رو داخل componentDidMount صداش میکنم


میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
0

سعی کنید جهت راهنمایی گرفتن کدهای مربوطه رو برای سایرین قرار بدین.
اینطوری حل مسئله راحت تر میشه.


محمد صادق کریمی
محمد صادق کریمی
تخصص :برنامه نویس
@m.s.karimi.ubuntu6 سال پیشمطرح شد
1

@hesammousavi
@milad

componentDidMount() {
    this.refreshFlatList();
    }

refreshFlatList = () => {
        let temp = [{key: 'page', value: 1}, {key: 'page_size', value: 50}];
        temp.push({key: 'qf_state', value: this.props.myCity.id});
        this.getAdsData(temp, true);
    };

getAdsData(queryParameter, isRefresh) {
        if (isRefresh) {
            if (!this.state.isRefreshing) {
                this.setState({isRefreshing: true});
            }
        } else {
            this.setState({isLoading: true});
        }

        let url = domain + post_values_v4 + keyValueToParams(queryParameter);
        let httpOptions = {
            headers: {
                'Authorization': this.props.token,
            },
            method: 'GET',
        };

        fetch(url, httpOptions).then((response) => {
            return response.json();

        }).then((responseData) => {

            this.setState({
                adsFlatListData: responseData.content,
                isRefreshing: false,
                isLoading: false,
            });

        }).catch((error) => {
            this.setState({
                isRefreshing: false,
                isLoading: false,
            });

        })
    }

render(){
     return (
        <FlatList
            data={this.state.adsFlatListData}
            keyExtractor={(item, index) => String(index)}
            refreshControl={
                    <RefreshControl
                        refreshing={this.state.isRefreshing}
                        onRefresh={() => {
                            this.refreshFlatList()
                        }}
                    />
                }
            renderItem={({item, index}) => {
                return <AdsListPure item={item}
                        index={index}
                                    onPress={() => {
                                        this.onRowPress(item)
                                    }}/>
            }}
        />
        );
}

محمد صادق کریمی
محمد صادق کریمی
تخصص :برنامه نویس
@m.s.karimi.ubuntu6 سال پیشمطرح شد
0

کسی پیشنهادی نداره؟؟؟


mahdi2k
mahdi2k
تخصص :junior full stack developer
@mahdifalahati756 سال پیشمطرح شد
0

button رو تا گرفتن response غیر فعال کن
یه جوری دیگه هندلش کن شاید با timeout بشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام