From fbcec20c48f2f2d9e33f71425e2d9c31d6e602fb Mon Sep 17 00:00:00 2001 From: William Seow Date: Wed, 16 Aug 2023 14:24:27 +0800 Subject: [PATCH 1/2] make sure move responder is set only when gesture is moving vertically with right velocity --- src/RefreshControl.web.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/RefreshControl.web.js b/src/RefreshControl.web.js index b561e31..0451c8d 100644 --- a/src/RefreshControl.web.js +++ b/src/RefreshControl.web.js @@ -80,6 +80,7 @@ export default function RefreshControl({ const containerDOM = findNodeHandle(containerRef.current) if (!containerDOM) return false return containerDOM.children[0].scrollTop === 0 + && (Math.abs(gestureState.dy) > Math.abs(gestureState.dx) * 2 && Math.abs(gestureState.vy) > Math.abs(gestureState.vx) * 2.5) }, onMoveShouldSetPanResponderCapture: () => false, onPanResponderMove: (_, gestureState) => { From cd21d02960bb66563f556746ad5567279bc1c4e5 Mon Sep 17 00:00:00 2001 From: William Seow Date: Mon, 22 Jan 2024 15:56:46 +0800 Subject: [PATCH 2/2] fixes --- src/RefreshControl.web.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RefreshControl.web.js b/src/RefreshControl.web.js index 0451c8d..b2351e6 100644 --- a/src/RefreshControl.web.js +++ b/src/RefreshControl.web.js @@ -75,7 +75,7 @@ export default function RefreshControl({ PanResponder.create({ onStartShouldSetPanResponder: () => false, onStartShouldSetPanResponderCapture: () => false, - onMoveShouldSetPanResponder: () => { + onMoveShouldSetPanResponder: (_,gestureState) => { if (!containerRef.current) return false const containerDOM = findNodeHandle(containerRef.current) if (!containerDOM) return false