здесь моя БД пишет правильно и извлекает эти данные в сеть, но как только в БД происходит обновление, обновленные данные не отображаются в сети .. старые данные по-прежнему отображаются .. но как только я обновлю sh На странице обновленных значений показана любая идея, чтобы решить эту проблему?
это мой код извлечения данных
componentDidMount() {
this.authListener();
this.retrieveData();
console.log("Data loaded");
}
retrieveData = () => {
fire.auth().onAuthStateChanged(user => {
if (user) {
var ref = fire
.database()
.ref("data")
.limitToLast(1);
//takes the last data in DB
var userUID = fire.auth().currentUser.uid;
var query = ref.orderByChild("ID").equalTo(userUID); //retrieves data about only the current logged in user
console.log(userUID);
query.once("value", snapshot => {
let currentState = this.state.people;
const currentUser = snapshot.val();
for (let i in currentUser) {
currentState.push({
email: currentUser[i].UserEmail,
UserAnswer: currentUser[i].UserAnswer,
Questions: currentUser[i].Question,
id: currentUser[i].ID,
Score: currentUser[i].Score,
levelRook: currentUser[i].UserLevel,
levelStudent: currentUser[i].UserLevelStudent,
levelIntermediate: currentUser[i].UserLevelIntermediate,
levelExpert: currentUser[i].UserLevelExpert,
levelMaster: currentUser[i].UserLevelMaster,
rank: currentUser[i].RankValue
});
}
// currentState.push(user);
console.log(currentState);
this.rankData(); //setting rank value from DB
this.setState({
people: currentState,
dataHasLoaded: true
});
});
} else {
console.log("no user");
}
});
};
проблема в том, что при обновлении значений в БД вышеупомянутая функция больше не вызывается чтобы получить последние данные ... любая помощь по этому поводу?