Skip to content

Commit bc5e8fd

Browse files
committed
fix(Storage): properly debounce text input filter
1 parent 51ece27 commit bc5e8fd

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/containers/Storage/StorageFilter/StorageFilter.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,21 @@
1-
import {useEffect, useState} from 'react';
1+
import {useEffect, useRef, useState} from 'react';
22
import {TextInput} from '@yandex-cloud/uikit';
33
import {StorageTypes} from '../../../store/reducers/storage';
44

55
function StorageFilter(props) {
66
const [filter, setFilter] = useState('');
7-
let timer;
8-
9-
useEffect(() => {
10-
return () => clearTimeout(timer);
11-
}, []);
7+
const timer = useRef();
128

139
useEffect(() => {
1410
setFilter('');
1511
props.changeReduxStorageFilter('');
1612
}, [props.storageType]);
1713

1814
const changeFilter = (value) => {
19-
clearTimeout(timer);
2015
setFilter(value);
21-
timer = setTimeout(() => {
16+
17+
clearTimeout(timer.current);
18+
timer.current = setTimeout(() => {
2219
props.changeReduxStorageFilter(value);
2320
}, 200);
2421
};

0 commit comments

Comments
 (0)