如何在本地运行特定时间的功能?

时间:2018-11-09 06:44:15

标签: react-native

我使用touchableopacity制作了一个计数器组件, 我要做的是继续加1直到用户按住该按钮,并在离开按钮时停止, 我还想在用户点击“添加”按钮时只添加1。

我尝试过的是我以一定的时间间隔在pressIn上开始循环,所以整个过程看起来不错,但是在压出时我无法停止循环

1 个答案:

答案 0 :(得分:0)

此问题已解决, 我所做的是在500间隔内的onPressIn调用我的add函数,而onpressout清除了该间隔

以下是便于更好理解的代码段

add = () => {
    this.setState(p=>{
        return{
            ...p,
            number:p.number + 1
        }
    })
} 
addLoop = () => {
    this.addInterval = setInterval(this.add,500)
}
stopAdding = () => {
    clearInterval(this.addInterval)
}

,并且在我的touchableOpacity中这样称呼它

onPressOut={this.stopAdding} onPressIn={this.addLoop} onPress={this.add}