如何在设置超时时重定向react组件

问题描述 投票:0回答:1

我有一个我正在创建的测验应用程序,我有一个问题组件。每次问题组件呈现时,我想启动60秒计时器。如果用户没有应答或离开应用程序,60秒后我想将它们重定向到主页,下一个用户可以从头开始测验。

我还有另一个关于componentWillMount()功能的问题。我有同样的问题组件有6个不同的实例或('问题'),你会说。当我从问题1到问题2时,componentWillMount()函数不会重新启动。它仅在该组件的第一个渲染时触发,即使它们是不同的实例。我需要确保计时器在每个组件渲染时重新启动。这样做的最佳方式是什么?是否最好使用props.history.push('/')

componentWillMount(){
    setTimeout(() => { 
        console.log('this ran') 
        this.props.history.push('/');
}, 60000)
}
javascript reactjs react-router settimeout
1个回答
0
投票

不确定,但也许setTimeout存在问题,其目的是触发事件一次,因此您可以尝试使用setInterval,其目的是执行函数无限次。

也许你可以查看更多here

© www.soinside.com 2019 - 2024. All rights reserved.