我看过一些网页(例如facebook),其中帖子的创建/发布日期正在计算中。例如现在发布,5分钟前,昨天14,依此类推。
我现在在reactJS网页上工作,这个功能非常好。我正在向客户端发送模型,但这些仅用于生成反应代码,然后不再使用它。
所以问题是,解决这个问题的最佳方法是什么?我是否应该创建一个特殊的反应日期时间组件?如果是这样,它看起来怎么样?
编辑:抱歉不清楚。时间可以在服务器上计算,但我需要它在客户端上实时倒计时。
答案 0 :(得分:0)
看看moment.js,特别是“从现在开始显示时间”
moment([2007, 0, 29]).fromNow(); // 4 years ago
答案 1 :(得分:0)
正如我在评论中提到的,我一直使用Moment JS。再次,它做前端和服务器端。 This functionality可能是您可以使用的:
var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, 'days') // 1
答案 2 :(得分:0)
您需要定期触发重新渲染,以便生成时间,因为显示将更新。
使用顶级的setInterval执行此操作并不理想,但这是最简单的方法。
另一种简单的方法是创建一个组件,该组件采用prop来进行比较,并强制自己重新渲染以更新显示的时间。
另一种方法是从挂载的时间显示组件中保留一个静态回调列表,强制组件重新呈现并循环遍历它们并定期调用它们。