在ReactJS中,我需要从"09/19/2020“做一个倒计时计时器,并在我的页面上显示所有这个计时器考虑的月,天,小时等,这个计时器从某个时间点开始计算月,日,小时等。不是在任何日期之前,而是从某个日期开始。从"09/19/2020“开始提供
我的代码:
import React from "react";
const Timer = () => {
}
export default Timer发布于 2020-09-30 20:12:32
试着使用这个例子:
import React, { useState, useEffect } from "react";
function calcDiffInMinutes(dateA, dateB) {
return Math.floor(((dateA.getTime() - dateB.getTime()) / 1000) % 60); // TODO CALCULATIONS HERE
}
export default ({ dateFrom }) => {
const [currentDate, setCurrentDate] = useState(new Date());
const [minutesDiff, setMinutesDiff] = useState(
calcDiffInMinutes(currentDate, dateFrom)
);
useEffect(() => {
const timeoutId = setTimeout(() => {
setCurrentDate(new Date());
}, 1000);
return () => clearTimeout(timeoutId);
}, [currentDate]);
useEffect(() => {
setMinutesDiff(calcDiffInMinutes(currentDate, dateFrom));
}, [currentDate, dateFrom]);
return (
<div>
<div>Date From: {dateFrom.toISOString()}</div>
<div>CountDown value: {minutesDiff}</div>
</div>
);
};将其放入一个单独的组件文件中,例如CountdownTimer。然后你就可以在你的应用中使用它了。
在这里查看完整的示例:https://codesandbox.io/s/react-playground-forked-vmqvy?file=/CountdownTimer.js
P.S. calcDiffInMinutes应该由你在几分钟内计算出真正的差值。您还需要为天/月等创建这样的函数,或者更改为返回具有所有差异的对象的单个函数。
https://stackoverflow.com/questions/64136794
复制相似问题