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>