var newState = [...this.state.registrations]
所以我将此代码设置为显示屏幕的一部分,然后使用相同的按钮关闭所述部分。当我打开它时,我想设置一个计时器(删除以免混淆人)并使用setinterval将ID存储到myTimer中(由“var myTimer = 2”模拟)。即使没有这部分代码,它仍然会失败。
因此,当我打开它时,控制台会显示“打开2”(按预期工作)。当我关闭它时,我预计它会为2(因为我已经将全局变量设置为2)。但我得到的是“关闭未定义”。
全局变量(我相信)在最顶层定义。那么我在这里做错了什么?如果不是2,那么不应该关闭它,然后至少0?
答案 0 :(得分:0)
JavaScript global variable becomes undefined inside function
我并不认为它在功能范围内,但就是这样。对不起大家。我没有意识到使用var设置变量..嗯,我知道它,但并不认为它会成为本地的并删除全局变量。
解决方案,将var myTimer = 2更改为myTimer = 2.