Отображается неверная дата, как я могу это исправить?

#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. О. Я понимаю, отличная мысль! Я обновлю свой ответ. Спасибо вам