1

现在,当我快速按下我的 touchableopacitys 时,它会堆积一堆对 onpress 回调的调用,然后随着时间的推移执行它们。我想要的是能够在 touchableopacity 被“按下”或褪色时防止进一步的回调,以便每次 touchableopacity 为“down”时只调用一次 onpress,即一个完整的淡出周期然后重新进入. 我该怎么做?

4

1 回答 1

0

我认为你想要做的是你想限制你的新闻回调,这样它们只会运行一次。你可以使用throttlingwith underscorelibrary 来做到这一点:例如:

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 回答