请教react计时器怎么写?

怎样实现鼠标一直点击一直加,不调api,但依然可以加,只是没有往后台存。然后不点击时1-2秒后再往后台存。 有没有更好的建议与方法。

阅读 2.5k
2 个回答
class Demo extends Component {
    constructor () {
        this.state = {
            count: 0,
        }
        this.timer = null
    }
    countClick = () => {
        clearTimeOut(this.timer)
        let count = this.state.count
        this.setState({count: count+1})
        this.timer = setTimeOut(this.fetch, 2000)
    }
    
    fetch = () => {
        // 请求后台
    }
    render () {
        return <div onClick={this.countClick}>点击+{this.state.count}</div>
    }
}

鼠标按下mousedown时累加, 鼠标mouseup抬起后,setTimeout(_=> fetch('https://www.xxxx.com'), 2000)延时 2秒后 fetch

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题