我正在尝试在函数内的函数内调用setState
。
这是我的功能。
//iohook Idle Functions.
setIdleTimeout = (millis) => {
var timeout = 0;
//Adding iohook Event Listners.
ioHook.start();
ioHook.on('mouseclick', onActivity);
ioHook.on('keypress', onActivity);
ioHook.on('mousewheel', onActivity);
ioHook.on('mousemove', onActivity);
startTimer();
function startTimer() {
timeout = setTimeout(onExpires, millis);
}
function onExpires() {
timeout = 0;
alert("User Idle. Click 'OK' to dismiss this window and restart task timer.");
this.setState({ isTimerRunning: false }); // <--- Here
}
function onActivity(event) {
if (timeout) clearTimeout(timeout);
else {
console.log('Welcome Back.');
}
startTimer();
}
};
我正在此函数之外调用setIdleTimeout(5000)
函数。
但是我遇到了这个错误。
Uncaught TypeError: this.setState is not a function at onExpires
我试图在没有帮助的情况下将每个功能更改为箭头功能。 你们可以帮我解决这个问题吗? 谢谢,