Предположим, у меня есть массив идентификаторов, которые отражают мои изображения [aaa, bbb, ccc]
, и я буду использовать эти данные для получения своих изображений.
Я хочу использовать эти идентификаторы и получать свои изображения и сохранять их в состояние массива, которое будет использоваться для отображения моих изображений в плоском списке.
Мой код выглядит следующим образом.
getIDs() {
fetch(config)
.then((response) => {
return response.json();
})
.then(async (data) => {
data.map(async id => {
await this.setImages(id.id)
} );}) }
async setImages(imageID) {
await fetch(config ) //where image Id is used
.then((response) => {
return response.json();
} })
.then(async (data) => {
await this.setState({ images: this.state.images.concat(data.content), isLoading: false }
})
Проблема с этим setState заключается в том, что он меняет последовательность моих изображений. Я хочу загрузить свои изображения в определенной последовательности c, которую я получаю из базы данных.
Мой плоский список выглядит следующим образом
<FlatList
data={[...this.state.images]}
numColumns={3}
renderItem={({ item, index }) => {
return (
<Image source={{ uri: 'data:image/png;base64,' + item }} />
);
}}
keyExtractor={(item, index) => index.toString()}
/>