【问题标题】:Showing an Invalid Date, how can I fix this?显示无效日期,我该如何解决?
【发布时间】:2021-11-04 02:11:09
【问题描述】:

如果数据库中不存在数据,则不会出错,但只会在屏幕上显示无效日期。如果数据库中不存在数据,我该如何做到这一点,那么它将是空的。

 First Item:
              {new Date(
                user.items?.firstDateseconds * 1000
              ).toDateString()}

【问题讨论】:

  • 你可以写成user && user.items && user.items.firstDateseconds && {new Date( user.items?.firstDateseconds * 1000 ).toDateString()} ,或者如果你想放一些特别的东西,如果没有日期,你可以:user && user.items && user.items.firstDateseconds ? new Date( user.items?.firstDateseconds * 1000 ).toDateString() : 'there is no date'

标签: javascript reactjs


【解决方案1】:

你可以在使用new Date()之前检查它是否为空

类似这样的:

First Item: {
   user.items?.firstDateseconds
      ? new Date(user.items.firstDateseconds * 1000).toDateString()
      : '';
}

【讨论】:

  • 由于您已经检查了 null,您可以省略 new Date( 表达式中的 ?.。
  • @phuzi 所以会是这样的new Date(user.items.firstDate.seconds * 1000).toDateString() ?
  • ? 这样如果条件为假,他可以放任何字符串。
  • @RyanLe 不,不是在谈论三元运算符。我说的是user.items?.firstDateseconds这个术语中的可选链接运算符?.,它完全是多余的,应该是new Date(user.items.firstDateseconds * 1000)
  • 哦。我明白了,好点子!我会更新我的答案。谢谢你
猜你喜欢
  • 2021-06-01
  • 2022-11-15
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 2020-04-29
  • 1970-01-01
相关资源
最近更新 更多