Skip to content

Commit daef9e3

Browse files
committed
refactor: Use raf to make scroll faster
1 parent 8b8f3b1 commit daef9e3

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
},
6060
"dependencies": {
6161
"classnames": "^2.2.6",
62+
"raf": "^3.4.1",
6263
"rc-util": "^4.8.0"
6364
}
6465
}

src/List.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import classNames from 'classnames';
3+
import raf from 'raf';
34
import Filler from './Filler';
45
import {
56
getElementScrollPercentage,
@@ -468,7 +469,7 @@ class List<T = any> extends React.Component<ListProps<T>, ListState<T>> {
468469
};
469470

470471
public scrollTo = (arg0: number | ScrollConfig) => {
471-
setTimeout(() => {
472+
raf(() => {
472473
// Number top
473474
if (typeof arg0 === 'object') {
474475
const { isVirtual } = this.state;

tests/__mocks__/raf.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function raf(callback) {
2+
setTimeout(callback);
3+
}

0 commit comments

Comments
 (0)