I have a FlatList component, and I want realize PanResponder API on it, below is part of my code:
componentWillMount() {
this._panResponder = PanResponder.create({
onStartShouldSetPanResponder: ()=>true,
onMoveShouldSetPanResponder: ()=>true,
onPanResponderGrant: (e, gestureState)=>this.panResponderStart(e, gestureState),
onPanResponderMove: (e, gestureState)=>this.panResponderMove(e, gestureState),
onPanResponderRelease: (e, gestureState)=>this.panResponderEnd(e, gestureState),
onPanResponderTerminate: (e, gestureState)=>this.panResponderEnd(e, gestureState),
});
}
panResponderEnd(e, gestureState) {
//this._previousTop += gestureState.dy;
this.setState({scrollTop:0});
console.log('release');
}
...
<FlatList
{...this._panResponder.panHandlers}
...
onPanResponderRelease
doesn't trigger on FlatList
or ListView
or VirtualizedList
component, OS is android, is it a RN's bug? how to resolve this problem, any help is appreciated.
no need to pass panHandlers
to view. I am using it directly on sectionList
. I got it working properly by using onPanResponderEnd
instead of onPanResponderRelease
.
Also if you still want to use onPanResponderRelease
then you should allow termination request by:
onPanResponderTerminationRequest: () => true
Let me know if it doesn't work.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.