Skip to content

Commit f40fe8d

Browse files
committed
Don't change direction if the new scroll position is the same as current
This avoids a case where we'd switch to previous when returning to 0 where 0 was also the starting point.
1 parent 9551248 commit f40fe8d

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,11 +1504,10 @@ export function subscribeToGestureDirection(
15041504
const scrollCallback = () => {
15051505
const newTime = provider.currentTime;
15061506
if (newTime !== null) {
1507-
directionCallback(
1508-
typeof newTime === 'number'
1509-
? newTime > currentOffset
1510-
: newTime.value > currentOffset,
1511-
);
1507+
const newValue = typeof newTime === 'number' ? newTime : newTime.value;
1508+
if (newValue !== currentOffset) {
1509+
directionCallback(newValue > currentOffset);
1510+
}
15121511
}
15131512
};
15141513
element.addEventListener('scroll', scrollCallback, false);
@@ -1521,11 +1520,10 @@ export function subscribeToGestureDirection(
15211520
const rafCallback = () => {
15221521
const newTime = provider.currentTime;
15231522
if (newTime !== null) {
1524-
directionCallback(
1525-
typeof newTime === 'number'
1526-
? newTime > currentOffset
1527-
: newTime.value > currentOffset,
1528-
);
1523+
const newValue = typeof newTime === 'number' ? newTime : newTime.value;
1524+
if (newValue !== currentOffset) {
1525+
directionCallback(newValue > currentOffset);
1526+
}
15291527
}
15301528
callbackID = requestAnimationFrame(rafCallback);
15311529
};

0 commit comments

Comments
 (0)