React JS 停止 运行
Reacts JS stops running
我有下面的代码
const secondsToString = (seconds) => {
seconds = parseInt(seconds)
let numdays = Math.floor(seconds / 86400);
let numhours = Math.floor((seconds % 86400) / 3600);
let numminutes = Math.floor(((seconds % 86400) % 3600) / 60);
let numseconds = ((seconds % 86400) % 3600) % 60;
if (numdays !== 0) {
return numdays + "d " + numhours + "h " + numminutes + "m " + numseconds + "s";
} else if (numhours !== 0) {
return numhours + "h " + numminutes + "m " + numseconds + "s";
} else if (numminutes !== 0){
return numminutes + "m " + numseconds + "s";
} else {
return numseconds + "s";
}
}
//more functions
const difference = (start) => {
const startAt = Date.parse(start);
const now = Date.parse(new Date());
var seconds = parseInt((now - startAt)/1000);
return secondsToString(seconds)
};
//more functions
// in render
<td onClick={() => modalToggle()}>{difference(item.startsAt)}</td>
}
平时我访问这个页面时,td一直在更新,时间一直在增长,但今天有时会持续30秒,然后停止,有时只运行一次然后停止。
似乎页面上的所有 javascript 都停止了。
我有 websocket 侦听器,但除非我刷新或单击某些内容,否则不会出现新数据。
奇怪的是没有任何变化,它就停止了。 api 似乎也很好,日志没有显示任何下降
至少我暂时的答案是做
const [seconds, setSeconds] = useState(0);
useEffect(() => {
const interval = setInterval(() => {
setSeconds(seconds => seconds + 1);
}, 1000);
return () => clearInterval(interval);
}, []);
// in return
<header hidden className="App-header">
{seconds} Woah.... You found me... I am the keeper of time. No one updates the time without me. If I am not here
THE WORLD IS DOOMED!
</header>
我有下面的代码
const secondsToString = (seconds) => {
seconds = parseInt(seconds)
let numdays = Math.floor(seconds / 86400);
let numhours = Math.floor((seconds % 86400) / 3600);
let numminutes = Math.floor(((seconds % 86400) % 3600) / 60);
let numseconds = ((seconds % 86400) % 3600) % 60;
if (numdays !== 0) {
return numdays + "d " + numhours + "h " + numminutes + "m " + numseconds + "s";
} else if (numhours !== 0) {
return numhours + "h " + numminutes + "m " + numseconds + "s";
} else if (numminutes !== 0){
return numminutes + "m " + numseconds + "s";
} else {
return numseconds + "s";
}
}
//more functions
const difference = (start) => {
const startAt = Date.parse(start);
const now = Date.parse(new Date());
var seconds = parseInt((now - startAt)/1000);
return secondsToString(seconds)
};
//more functions
// in render
<td onClick={() => modalToggle()}>{difference(item.startsAt)}</td>
}
平时我访问这个页面时,td一直在更新,时间一直在增长,但今天有时会持续30秒,然后停止,有时只运行一次然后停止。
似乎页面上的所有 javascript 都停止了。
我有 websocket 侦听器,但除非我刷新或单击某些内容,否则不会出现新数据。
奇怪的是没有任何变化,它就停止了。 api 似乎也很好,日志没有显示任何下降
至少我暂时的答案是做
const [seconds, setSeconds] = useState(0);
useEffect(() => {
const interval = setInterval(() => {
setSeconds(seconds => seconds + 1);
}, 1000);
return () => clearInterval(interval);
}, []);
// in return
<header hidden className="App-header">
{seconds} Woah.... You found me... I am the keeper of time. No one updates the time without me. If I am not here
THE WORLD IS DOOMED!
</header>