以标准格式转换Firebase时间戳时遇到问题

时间:2019-05-10 07:41:02

标签: firebase react-native

我收到以下错误:

  

对象作为反应孩子无效(发现于2019年5月9日星期四17:25:13   GMT + 0500(PKT))。如果tou打算渲染儿童集合,请使用   代替数组

我的代码:

<Body>
 <Text style={{ fontSize: 18 }}>
 {this.item.timestamp.toDate()}
 </Text>
</Body>

2 个答案:

答案 0 :(得分:0)

错误

  

对象不能作为反应子对象

表示您正在将对象传递给<Text/>组件,但是仅允许字符串文字。

您可以使用moment.js格式化/转换时间戳。

您可以通过以下方式安装它:npm install moment

如果时间戳以 unix毫秒为单位,则可以使用:

import Moment from 'moment'; 
...
<Text> {Moment(this.item.timestamp).format("MM/DD/YYYY")} </Text>

如果时间戳以 unix秒为单位,则可以使用:

import Moment from 'moment'; 
...
<Text> {Moment.unix(this.item.timestamp).format("MM/DD/YYYY")} </Text>

工作示例:

https://snack.expo.io/HkTGLnfn4

答案 1 :(得分:-1)

您可以安装moment.js,它是用于日期过滤的库,如下所示:

  <Body>
     <Text style={{ fontSize: 18 }}>
       {moment
         .unix(this.item.timestamp)
         .format("MM/DD/YYYY")}
     </Text>
  </Body>