我在 ReactNative 中制作了一个折叠收费栏,当Animated.ScrollView contentOffset.y 等于 240 时,我需要停止动画。如果我设置任何条件或在外部函数中调用 Animated.event 它不起作用。
Animated.Value.stopAnimation()也不起作用。
这有效:
<Animated.ScrollView
scrollEventThrottle={1}
onScroll={
Animated.event(
[{nativeEvent: {contentOffset: {y: this.state.scrollY}}}],
{useNativeDriver: true}
)
}
>
...
这不起作用:
handlerScroll() {
Animated.event(
[{nativeEvent: {contentOffset: {y: this.state.scrollY}}}]
{useNativeDriver: true}
)
}
...
render() {
return(
<Animated.ScrollView
scrollEventThrottle={1}
onScroll={this.handlerScroll.bind(this)}
>
)
}
...
这也不起作用
<Animated.ScrollView
scrollEventThrottle={1}
onScroll={
this.state.canScroll &&
Animated.event(
[{nativeEvent: {contentOffset: {y: this.state.scrollY}}}],
{useNativeDriver: true}
)
}
>
...
我不知道我还能用什么来停止我的动画。
我需要做这个效果: