所以我有很多事件。我想在我的Gatsby网站中将它们显示为将来的事件和过去的事件。建立时间,我需要弄清楚事件是否已经过去或仍在继续。所以我写了这个函数:
exports.setFieldsOnGraphQLNodeType = ({ type }) => {
if (type.name === `my_event_type`) {
return {
fromNow: {
type: GraphQLBoolean,
resolve: source => {
const { raw_date } = source.fields;
return moment().diff(raw_date, 'days') <= 0;
},
},
};
}
// by default return empty object
return {};
}
这很好地确定我的活动的raw_date
是否通过。 但是 ....该字段最终出现在缓存中...因此,下次构建运行时,将不会重新评估此字段,因此与上一次运行相同,该字段为true / false。因此,它一直向我显示缓存时间而非构建时间中的事件。
有什么主意如何确保在构建过程中重新评估该字段,或者如何使用另一个区分日期的函数?