mirror of https://github.com/portainer/portainer
19 lines
449 B
TypeScript
19 lines
449 B
TypeScript
import _ from 'lodash';
|
|
import { useState, useRef } from 'react';
|
|
|
|
export function useDebounce(
|
|
defaultValue: string,
|
|
onChange: (value: string) => void
|
|
) {
|
|
const [searchValue, setSearchValue] = useState(defaultValue);
|
|
|
|
const onChangeDebounces = useRef(_.debounce(onChange, 300));
|
|
|
|
return [searchValue, handleChange] as const;
|
|
|
|
function handleChange(value: string) {
|
|
setSearchValue(value);
|
|
onChangeDebounces.current(value);
|
|
}
|
|
}
|