#flutter
Вопрос:
Я создал небольшое приложение, в котором вы можете добавлять комментарии к публикациям, и это код для добавления комментария в firestore
final DateTime timestamp = DateTime.now(); addComment() async{ commentsRef.doc(postId).collection('comments').add({ 'username': current.uniqueName, 'comment': commentController.text, 'timestamp': timestamp, 'avatarUrl': current.profilePictureURL, 'userId': current.userID });}
Но если я опубликую комментарий, а через пару секунд опубликую еще один, оба сообщения будут иметь одинаковую отметку времени. С чем это может быть связано? Как я могу решить эту проблему?
Комментарии:
1. используйте переменную метки времени внутри метода AddComment()
Ответ №1:
Правильное использование-это:
addComment() async{ commentsRef.doc(postId).collection('comments').add({ 'username': current.uniqueName, 'comment': commentController.text, 'timestamp': DateTime.now(), 'avatarUrl': current.profilePictureURL, 'userId': current.userID });}
Вы сохраняете метку времени в final
переменной и никогда не обновляете ее. Вот почему вы получаете одно и то же значение в базе данных.