使用Redux处理MeteorJS中的DateTime对象的最佳做法是什么?
在Spencer Carli的博客文章之后,最近在我的React Native + Meteor应用程序中实现了Redux在脱机功能中的使用。但是我对两个系统存储DateTime对象的方式都有一些问题。我必须承认,我没有详细了解如何在JavaScript中处理日期对象。
流星
我的Meteor集合模型包含一个datetype对象(我使用simpl-schema
):
const Objects= new Mongo.Collection('objects');
Objects.schema = new SimpleSchema({
startedAt: Date,
});
日期演示
在react-native应用程序中,我必须将日期类型解析为字符串:
<Text>Started at: {object.startedAt.toUTCString()}</Text>
但是,在断开连接模式下,日期的类型为字符串“2017-02-11T09:00:00.000Z”
,因此此解析失败
插入带有日期对象的项目
在react-native中插入项目:
Meteor.collection('objects').insert({
startedAt: new Date(),
}
);
这在断开连接模式下被接受,但是当恢复与服务器的连接时,将拒绝在MongoDB中插入项目。
答案 0 :(得分:1)
虽然不是一个很好的答案我的主要建议,无论何时在Javascript中使用日期,都是使用momentjs。这将节省你吨的时间。
否则,我不确定这是否是“正确的”方法,我会这样做
<Text>Started at: {new Date(object.startedAt).toUTCString()}</Text>
这样,beginAt值将始终转换为Date对象,无论它是否已经是一个或者它是一个字符串。
希望有所帮助!