MeteorJS和Redux中的DateTime对象

时间:2017-02-12 16:16:59

标签: meteor react-native react-redux

使用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中插入项目。

1 个答案:

答案 0 :(得分:1)

虽然不是一个很好的答案我的主要建议,无论何时在Javascript中使用日期,都是使用momentjs。这将节省你的时间。

否则,我不确定这是否是“正确的”方法,我会这样做

<Text>Started at: {new Date(object.startedAt).toUTCString()}</Text>

这样,beginAt值将始终转换为Date对象,无论它是否已经是一个或者它是一个字符串。

希望有所帮助!