【发布时间】:2021-10-04 11:58:33
【问题描述】:
我正在开发要在大型电视上显示的反应仪表板。它可以正常工作一天。但是当时间到达午夜时,仪表板会卡在同一天并且不会滚动到第二天。
我的方法
import React from 'react'
import moment from "moment";
function UpdateDate() {
const [{ startDate, endDate }] = useStateValue();
useEffect(() => {
var daterollOver = setInterval(function () {
var now = moment().format("HH:mm:ss");
if (now === "00:00:00") {
window.location.reload();
}
}, 1000);
return () => {
clearInterval(daterollOver);
}
}, [])
var url=`http:domain/live-dashboard?from=${startDate}&to=${endDate}`;
return (
<div>
<iframe
className="embed-responsive-item"
src={url}
></iframe>
</div>
)
}
export default UpdateDate;
我正在使用 react context api 来管理状态。下面是 reducers.js 的部分,它从现在开始计算当前时间。
import moment from "moment";
export const initialState = {
startDate: moment().startOf("day").local();,
endDate: moment().endOf("day").local();,
}
在午夜刷新页面的最佳选择是什么,这将更新 startDate 和 endDate 并在时间为午夜时滚动到第二天?
【问题讨论】:
-
脚本是否更新了值?如果不知道应用程序实际做了什么,很难猜测。
-
@epascarello 这是 24/7 仪表板。我想在午夜刷新仪表板,以便我在 reducer 中的 initialState 使用当前时刻来更新 startDate 和 endDate。
标签: javascript html reactjs momentjs