Каждый раз, когда вы устанавливаете состояние ваших изображений, вы удаляете все предыдущие выполненные запросы. Это означает, что последний запрос на изображение заканчивается последним, который вы увидите.
Вы можете воспользоваться подходом Promise.all:
Promise.all(IDs.map((element) =>this.getImagePreview(element))
.then(res=>{
this.setState({images: res.flat()});
});
Или этот подход
this.setState({ images: [] });
IDs.forEach(async (element) => {
const {images} = this.state;
imagesList = await this.getImagePreview(element);
this.setState({images: images.concat(imagesList) });
});
Добавление изображений в FlatList , взятых прямо из документов:
render(){
const {images} = this.state;
return (
<View>
<FlatList
data={images}
keyExtractor={(item, index)=>index}
renderItem={({item}) => <Image style={{width: 50, height: 50}} source={{uri:item}} />}
/>
</View>
)
}