Я использую Firestore в React. И это приложение сохраняет created_at
datetime как объект Timestamp в Firestore, как показано ниже. используйте firebase.firestore.FieldValue.serverTimestamp()
.
export function createComment(uid, values, count) {
return dispatch => {
commentsRef
.add({
uid: uid,
content: values.content,
created_at: firebase.firestore.FieldValue.serverTimestamp()
})
.then(function() {
roomsRef
.doc(uid)
.update({
comment_count: Number(count) + 1
})
.then(() => {
dispatch({ type: CREATE_COMMENT });
});
});
};
}
Но ошибка возникает при попытке отобразить created_at
метку времени.
// Fetch comments
export function fetchComments(uid) {
return dispatch => {
commentsRef
.where("uid", "==", uid)
.get()
.then(snapshot => {
const comments = snapshot.docs.map(doc => {
return {
const timstamp = doc.data().created_at.toDate();
// error occurs
...doc.data(),
id: doc.id,
timestamp: timestamp
};
});
return comments;
})
.then(comments => {
dispatch({ type: FETCH_COMMENTS, payload: comments });
});
};
}
ошибка:
Ошибка типа: Не удалось прочитать свойство 'toDate' с неопределенным
Отметка времени успешно получена.