ScrollView onscroll属性中的调用函数

时间:2018-08-08 07:12:17

标签: javascript android reactjs typescript react-native

我有一个动画视图,我想在该onScroll属性中执行多个事件。现在onScroll是这样的:

onScroll={
                    Animated.event(
                    [{ nativeEvent: { contentOffset: { y: this.scroll } } }],
                    { useNativeDriver: true },
                )

,我想做的比Animeted.event()还重要。所以我把它放在这样的函数中:

animatedEv(){
    Animated.event(
        [{ nativeEvent: { contentOffset: { y: this.scroll } } }],
        { useNativeDriver: true },
    )
        //----and maybe some thing more here 
} 

我在onScroll中呼叫了您在上方看到的内容:

onScroll={()=>
                  this.animatedEv
                }

但是尽管调用了成功的函数,但动画在这些新样式中仍无法正常工作。...即使我尝试了此操作:

onScroll={
            ()=>{this.animatedEv() } 
  } 

在两种样式中都没有错误,但动画无法正常运行):

编辑: 这是我的滚动条,它是组件顶部的一个变量:

 scroll = new Animated.Value(0);

1 个答案:

答案 0 :(得分:1)

使用时

onScroll={
    Animated.event(
    [{ nativeEvent: { contentOffset: { y: this.scroll } } }],
    { useNativeDriver: true },
)}

它与

类似
onScroll={(scrollEvent) => {
    Animated.event(
    [{ nativeEvent: { contentOffset: { y: this.scroll } } }],
    { useNativeDriver: true },
))(scrollEvent)
}}

因此,如果您想从此尝试中获取代码

animatedEv = (event) => {
    Animated.event(
    [{ nativeEvent: { contentOffset: { y: this.scroll } } }],
    { useNativeDriver: true },
    ))(event)
    //other stuff
};
...
onScroll={this.animatedEv}

编辑:第一个答案错误