在某些JS中需要一点帮助。是否可以根据需要绑定动画事件?
我需要这样做:
onScroll={
Animated.event([
{
nativeEvent: {
contentOffset: {y: this.state.animTop}
}
}
])
}
我还需要做这个
onScroll={(e) => {
let positionY = e.nativeEvent.contentOffset.y;
this._handleScroll(positionY);
this.setState({y: positionY})
}}
我尝试过这样的绑定,但不需要动画。event
componentDidMount() {
this._handleScroll = this._handleScroll.bind(this);
}
onScroll={
this._handleScroll
}
_handleScroll(e) {
Animated.event([
{
nativeEvent: {
contentOffset: {y: this.state.animTop}
}
}
]);
if(e > 30) {
this.setState({statusBarHidden: true});
} else {
this.setState({statusBarHidden: false});
}
}
最终使它起作用:
将功能绑定到动画。Event侦听器:
onScroll={Animated.event(
[{ nativeEvent: { contentOffset: { y: this.state.animTop } } }],
{ listener: this._handleScroll },
)}
您也可以使用setValue()
。
这样可以这样起作用:
_handleScroll(event) {
// Do stuff
this.state.animTop.setValue(event.nativeEvent.contentOffset.y);
// Do other stuff
}