我使用touchableopacity制作了一个计数器组件, 我要做的是继续加1直到用户按住该按钮,并在离开按钮时停止, 我还想在用户点击“添加”按钮时只添加1。
我尝试过的是我以一定的时间间隔在pressIn上开始循环,所以整个过程看起来不错,但是在压出时我无法停止循环
答案 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}