React Native - 在setInterval()期间单击scrollview项目

时间:2016-12-11 14:25:37

标签: react-native scrollview requestanimationframe

我有一个简单的 ScrollView 滚动水平),其中包含一些项目,每个项目都有一个TouchableOpacity。 onPress - 方法只是一个 console.log ,所以我可以看到输出。 到目前为止它的确有效!

但是我已经做了一个 setInterval(),在每个循环上都会产生一个 scrollTo({x:xValue,y:0,animated:false}) ScrollView增加了X值。

这样我就像Newsticker的外观和感觉一样滚动得很好。 但是当它运行时,每个项目的点击停止工作?!

我想它与setInterval(func,time)设置的时间有关,因为当我将它增加到一个很高的值时它会起作用(但是当然滚动不好)。 / p>

所以我尝试使用如下所示的requestAnimationFrame()循环方法,但是当我点击这些项目时仍然没有任何反应:

function loop(func, throttle) {
let running;
let speed = throttle || 0;
function insideLoop() {
    if (running !== false) {
        requestAnimationFrame(insideLoop);
        speed--;
        if(speed <= 0){
          running = func();
          speed = throttle || 0;
        }
    }
}
insideLoop();
}

任何想法我需要做什么?

0 个答案:

没有答案