我有一个动画视图,我想在该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);
答案 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}
编辑:第一个答案错误