#javascript #reactjs
Вопрос:
Если данные не существуют в базе данных, ошибки нет, но на экране просто отобразится неверная дата. Как я могу это сделать, если данных в базе данных не существует, то она будет просто пустой.
First Item:
{new Date(
user.items?.firstDateseconds * 1000
).toDateString()}
Комментарии:
1. вы можете написать это как
user amp;amp; user.items amp;amp; user.items.firstDateseconds amp;amp; {new Date( user.items?.firstDateseconds * 1000 ).toDateString()}
или если вы хотите разместить что-то особенное, если нет даты, которую вы можете:user amp;amp; user.items amp;amp; user.items.firstDateseconds ? new Date( user.items?.firstDateseconds * 1000 ).toDateString() : 'there is no date'
Ответ №1:
Вы можете проверить, не пусто ли оно перед использованием new Date()
Что-то вроде этого:
First Item: {
user.items?.firstDateseconds
? new Date(user.items.firstDateseconds * 1000).toDateString()
: '';
}
Комментарии:
1. Поскольку вы уже проверили значение null, вы можете опустить
?.
внутреннееnew Date(
выражение.2. @phuzi значит, так и будет
new Date(user.items.firstDate.seconds * 1000).toDateString()
?3.
?
таким образом, он может поместить любую строку, если условие ложно.4. @RyanLe Нет, я не говорю о троичном операторе. Я говорю о необязательном операторе цепочки
?.
в том смыслеuser.items?.firstDateseconds
, что он полностью избыточен и должен бытьnew Date(user.items.firstDateseconds * 1000)
5. О. Я понимаю, отличная мысль! Я обновлю свой ответ. Спасибо вам