Как только вы звоните snapshot.val()
, вы теряете всю информацию о заказе снимка, на котором вы его вызываете. Это связано с тем, что свойства в объекте JSON не имеют определенного порядка.
Так что вам нужно перебрать соответствующие узлы с помощью встроенной функции DataSnapshot.forEach()
:
const commentsRef = firebase.database().ref("Comments/News").orderByChild("date").limitToLast(5);
commentsRef.on("value", snapshot => {
let newState = [];
snapshot.forEach(symptomSnapshot => {
let symptom = symptomSnapshot.val();
newState.push({
id: symptomSnapshot.key,
comment: symptom.comment,
date: symptom.date
});
});
// TODO: this is where you'll typically call setState(...)
});