Я создаю приложение, используя React Native, и храню информацию о пользователях в коллекции под названием «Пользователь» в Firestore. У каждого пользователя есть коллекция изображений профиля, сохраненная в коллекции, и я хочу отобразить несколько пользовательских изображений на одной странице. Однако я изо всех сил пытаюсь заставить это работать из-за того, что приходится ждать возврата Promises.
Я пытался сохранить URL-адрес в переменной состояния при ее получении, однако это потребовало бы создания множествапеременные состояния из-за количества изображений, которые я хочу отобразить. Затем я попытался использовать async / await и затем операторы, но изображения не загружались из-за обещаний, не возвращающихся вовремя.
async getImg(user_id) {
return await firebase.firestore().collection('User').doc(user_id).get()
.then(user => {return user.data().image})
render() {
<SafeAreaView style={styles.container}>
<Image source={{uri: this.getImg('rwWa39Y6xtS1nZguswugODWndqx2') }} style={{ ... }} />
<Image source={{uri: this.getImg('HQkCoChUe5fkZrHypYdRnrw66Rp2') }} style={{ ... }} />
</SafeAreaView>
);
}
Приведенный выше код является моей последней попыткой, и он возвращает следующую ошибку из-за возврата обещания вместо строки url.
You attempted to set the key `_65` with the value `1` on an object that is meant to be immutable and has been frozen.
Есть ли у кого-нибудь какие-либоИдея как это решить?