在函数内的函数内调用setState

时间:2019-05-05 05:23:32

标签: javascript reactjs setstate

我正在尝试在函数内的函数内调用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

我试图在没有帮助的情况下将每个功能更改为箭头功能。 你们可以帮我解决这个问题吗? 谢谢,

0 个答案:

没有答案