现在,当我快速按下我的 touchableopacitys 时,它会堆积一堆对 onpress 回调的调用,然后随着时间的推移执行它们。我想要的是能够在 touchableopacity 被“按下”或褪色时防止进一步的回调,以便每次 touchableopacity 为“down”时只调用一次 onpress,即一个完整的淡出周期然后重新进入. 我该怎么做?
问问题
827 次
1 回答
0
我认为你想要做的是你想限制你的新闻回调,这样它们只会运行一次。你可以使用throttling
with underscore
library 来做到这一点:例如:
class MyComponent extends React.Component {
constructor(props) {
super(props);
_.throttle(
this.onPressThrottle.bind(this),
200, // no new clicks within 200ms time window
);
}
onPressThrottle() {
// this only runs once per 200 milliseconds
}
render() {
return (
<View>
<TouchableOpacity onPress={this.onPressThrottle}>
</TouchableOpacity>
</View>
)
}
}
于 2018-01-03T06:05:36.623 回答