我是React Native的新成员。
作为一种惯例,我正在构建一个简单的React Native应用程序,我将连接到HubSpot的API以检索一些博客帖子,显示它们并与它们进行交互。现在这很好,但是当我解析JSON时,我想出了一个字段" publish_date"包含时间戳。出于某种原因,这个时间戳包含3个额外的数字,我认为这是针对时区的。无论如何,当我使用' react-timestamp'输出时间戳时,我使用这个值,我得到的日期太过分了。所以我想使用substring删除最后3位数并输出正确的日期。
这是失败代码的一部分:
renderRow(post) {
return(
<View style={styles.row}>
<Image style={styles.image} source={{uri: post.featured_image}} />
<View style={styles.info}>
<Text style={styles.title}>{post.title}</Text>
<Text style={styles.author}>Por {post.author_name}</Text>
<Timestamp time={post.publish_date.substring(10)} component={Text} format='date' />
</View>
</View>
);
}
render() {
return(
<ListView
dataSource={this.state.dataSource}
renderRow={this.renderRow.bind(this)}
style={styles.page}
/>
);
}
当我运行它时,我收到下一个错误:
我不知道我做错了什么,这对我来说都是新的。昨天我试图使用.replace(&#39;&#39;)时遇到了同样的错误,所以我放弃了并寻求另一种解决方案。在这种情况下,我认为我无法做任何其他事情。
答案 0 :(得分:0)
尝试记录您的帖子对象,看看是否定义了"publish_date"
,
根据错误,传递给函数renderRow的对象帖子上没有"publish_date"
属性,因此,对子字符串的调用失败。
答案 1 :(得分:0)
好的,所以经过很多次,没有得到答案,甚至在模块的Git中打开一个问题,我决定继续寻找。
事实上,实际上我的时间戳是以毫秒为单位,当将其转换为毫秒时,过程中的某些内容会使Timestamp模块崩溃。所以,我决定放弃它并使用另一种方法。
它是这样的:
^[x-X][0-9]{11}$
现在我得到了正确的日期而无需外部模块。希望这对任何人都有帮助,但我不认为世界上任何人都像我这样面对这个问题。无论如何,谢谢大家。