Skip to content

Commit b975ea1

Browse files
committed
chore: stabilize scrollbar touch handler
1 parent fe588a0 commit b975ea1

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/ScrollBar.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { clsx } from 'clsx';
2-
import { raf } from '@rc-component/util';
2+
import { raf, useEvent } from '@rc-component/util';
33
import * as React from 'react';
44
import { getPageXY } from './hooks/useScrollDrag';
55

@@ -88,15 +88,15 @@ const ScrollBar = React.forwardRef<ScrollBarRef, ScrollBarProps>((props, ref) =>
8888
const stateRef = React.useRef({ top, dragging, pageY: pageXY, startTop });
8989
stateRef.current = { top, dragging, pageY: pageXY, startTop };
9090

91-
const onThumbMouseDown = (e: React.MouseEvent | React.TouchEvent | TouchEvent) => {
91+
const onThumbMouseDown = useEvent((e: React.MouseEvent | React.TouchEvent | TouchEvent) => {
9292
setDragging(true);
9393
setPageXY(getPageXY(e, horizontal));
9494
setStartTop(stateRef.current.top);
9595

9696
onStartMove();
9797
e.stopPropagation();
9898
e.preventDefault();
99-
};
99+
});
100100

101101
// ======================== Effect ========================
102102

@@ -117,7 +117,7 @@ const ScrollBar = React.forwardRef<ScrollBarRef, ScrollBarProps>((props, ref) =>
117117
scrollbarEle.removeEventListener('touchstart', onScrollbarTouchStart);
118118
thumbEle.removeEventListener('touchstart', onThumbMouseDown);
119119
};
120-
}, []);
120+
}, [onThumbMouseDown]);
121121

122122
// Pass to effect
123123
const enableScrollRangeRef = React.useRef<number | undefined>(undefined);

0 commit comments

Comments
 (0)