我看过一些关于“this.setState 不是函数”问题的主题,但没有一个主题为我解决了这个问题。我使用了箭头函数或绑定“this”,但仍然收到错误。初步尝试如下。它使用嵌套的 setTimeout 函数(我可以解释为什么它会有所帮助),但问题是围绕 this.setState 的。
在不研究“useEffect”Hook 的情况下,我可以检查下面的代码中是否缺少在 React 中设置状态的基本/基础内容吗?
let delay = 5000;
var startTime = new Date().getTime();
let intervalTimerId = setTimeout(function request() {
// first apply a random number to a div
let randomNum = Math.floor(Math.random() * 6) + 1;
// document.querySelectorAll(".someClass"+randomNum)[0].setAttribute("id", "test");
// then after a second, remove the class
setTimeout(() => {
// document.querySelectorAll(".someClass"+randomNum)[0].setAttribute("id", "");
// after another second, set state to use later
setTimeout(() => {
this.setState({someState: "testing"});
}, 1000)
}, 1000)
// set new delay time
if (new Date().getTime() - startTime > 9000) {
delay = 3000;
}
console.log(new Date().getTime() - startTime)
intervalTimerId = setTimeout(request, delay);
}, delay);
MMTTMM
叮当猫咪
慕娘9325324
相关分类