const useDebounce = (value, dalay) => {
const [debouncedValue, setDebouncedValue] = useState(value)
useEffect(() => {
const timeout = setTimeout(() => setDebouncedValue(value), dalay)
return () => clearTimeout(timeout)
}, [value, dalay])
}
调用
const debouncedParam = useDebounce(param, 2000)
useEffect(() => {
fetch()
}, [debouncedParam])