Здравствуйте, я новичок в реакции на родную.Я работаю над push-уведомлениями через firebase.Я реализовал функциональность уведомления.Но проблема в том, что я не могу получить данные из базы данных Firebase в реальном времени.Вот мой код для извлечения данных из Firebase.Я просто хочу получить события, которые показаны на изображении.
fetchFriendsList=(eventId)=>{
let allEventsList = [...this.state.allEventsList];
firebase.database().ref('/events').child(eventId).once('value').then((snapshot) => {
let data = snapshot.val();
let items = Object.values(data);
allEventsList.push(items);
this.setState({allEventsList : allEventsList});
ToastAndroid.show("kk>"+allEventsList.length , ToastAndroid.SHORT);
}).then((data)=>{
}).catch((error)=>{
//error callback
console.log('error ' , error)
})
}
//get event id from user events
deleteOldEvents=()=>{
let eventsList = [...this.state.userEventsList];
for(var i=0;i<eventsList.length;i++){
this.deleteFromFireBase(eventsList[i].eventId)
}
}
//app users remove that not in contacts
deleteFromFireBase=(eventId)=>{
let timeRemaining = 1;
firebase.database().ref('/events').child(eventId).once('value').then((snapshot) => {
let data = snapshot.val();
let STime = data.sTime; // start time
let eventDate = data.eventDate;
timeRemaining=this.remainingTimeInMin(STime,eventDate);
}).then((data)=>{
//remove from events
if(timeRemaining < 0){
this.setState({removeEventsList:[]});
firebase.database().ref('/events').child(eventId).child('friends').once('value').then((snapshot) => {
let data = snapshot.val();
let items = Object.values(data);
this.setState({removeEventsList:items});
}).then((data)=>{
//remove event data from users node
let removeEventsList = [...this.state.removeEventsList];
for(var i=0;i<removeEventsList.length;i++){
let getPhone= removeEventsList[i].phone
firebase.database().ref('/users').child(getPhone).child('/events').child(eventId).remove();
}
//remove whole event from event node
firebase.database().ref('/events').child(eventId).remove();
}).catch((error)=>{
//error callback
console.log('error ' , error)
})
}
}).catch((error)=>{
//error callback
console.log('error ' , error)
})
}