【发布时间】:2020-07-28 21:50:51
【问题描述】:
我在这方面遇到了很多麻烦,我尝试了各种方法。我想在单击开始按钮后每秒调用一个函数,然后在单击停止按钮后将其暂停。我不断得到我无法解释的奇怪行为。 我如何在没有课程的情况下做出反应?
我的一些事情:
const simulation = () => {
if (!running) {
console.log('hit');
return
} else {
// console.log(grid);
console.log('hey');
setTimeout(simulation, 1000)
}
}
和
enter setInterval(() => {
let newGrid = [...grid]
for (let i = 0; i < numRow; i++) {
for (let k = 0; k < numCol; k++) {
let n = 0;
}
}
console.log(grid);
}, 5000)
我已经尝试了很多,在某些情况下,如果我添加了状态,它会更新状态,但在我重置状态后不会更新它。 我如何调用一个函数以更新状态值每秒运行一次 * 请注意我要运行的函数将更新状态
【问题讨论】:
-
您需要准确的计时吗?
-
我猜不是——只是时间一致
-
为什么需要更新状态?你听说过钩子吗?和 useEffect 挂钩?
-
setInterval 和 setTimeout 对于时间跟踪不可靠
-
我需要更新状态,因为我正在重新创建生命游戏 - 每 1 秒我想运行一个会改变状态的函数
标签: javascript reactjs