Я создаю приложение React Native, используя Firestore для хранения данных. В настоящее время у меня есть две коллекции, одна из которых хранит информацию о бронировании под названием «Бронирование», а другая - содержит информацию о пользователе под названием «Пользователь». Коллекции бронирования содержат user_id пользователя, участвующего в бронировании.
В настоящее время я пытаюсь пройти через все бронирования и извлечь из таблицы пользователя user_image пользователя, указанного в бронировании. Мой код выглядит следующим образом:
async retrieveSupplierImg(supplierId) {
const userSnapshot = await firebase
.firestore()
.collection("User")
.doc(supplierId)
.get();
return {uri: userSnapshot.data().image};
}
async getMeetings() {
var meetings = await firebase
.firestore()
.collection("Booking")
.where("status", "==", true)
.where("consumer_id", "==", this.state.user_id)
.get()
this.setState({ appointments: meetings.docs.map(doc => {
var image = this.retrieveSupplierImg(doc.data().supplier_id);
return {
supplier_id: doc.data().supplier_id,
booking_id: doc.data().booking_id,
start_time: doc.data().start_time,
user_image: image
}
})});
}
renderBooking() {
var meetings = this.state.appointments;
return (
<View
style={{
marginTop: 10,
marginBottom: 10,
width: width,
height: height * 0.19,
justifyContent: "flex-start",
alignItems: "center"
}}
>
{meetings.map(booking => (
<Image
source={booking.user_image}
style={{
height: 45,
width: 45,
borderRadius: 23,
marginLeft: 10
}}
/>
);
}
Этот код завершается ошибкой со следующей ошибкой:
Вы попытались установить ключ _65
со значением1
на объекте, который должен быть неизменным и заморожен.
Кто-нибудь знает, как я могу это исправить?