console.log('render item');
return (
<View style={styles.listItem}>
<TouchableOpacity
key={service.id}
style={styles.serviceItem}
>
<View style={styles.serviceText}>
<Text>{service.service_category}</Text>
<Text>{service.city}</Text>
<Text>{service.service_name}</Text>
</View>
</TouchableOpacity>
</View>
);
};
_head = (item) => {
return (
<Separator bordered style={{ alignItems: 'center' }}>
<Text>{item.name_ru}</Text>
</Separator>
);
};
_body = async (item) => {
var servicesList = await this.loadServicesList(item.id); // загружает массив сервисов с сервака
return (
<View style={{ padding: 10 }}>
<FlatList
keyExtractor={(item) => item.id}
style={styles.list}
data={servicesList ? servicesList : []}
refreshing={false}
onRefresh={() => refetch()}
renderItem={() => this.renderServiceItem()} //не заходит в renderServiceItem
/>
</View>
);
};
render() {
return (
<View style={styles.mainContainer}>
<AccordionList
list={this.state.serviceCategories ? this.state.serviceCategories : []}
header={this._head}
body={this._body}
/>
</View>
);
}
код точно работать не должен. Рендер не может быть асинхронным
а разве не renderItem={this.renderServiceItem}?🤔 насколько я помню, в доках так описано
Ты уверен что в массиве хотя бы один айтем есть?
Обсуждают сегодня