UNPKG

@theoplayer/react-native-ui

Version:

A React Native UI for @theoplayer/react-native

14 lines (12 loc) 428 B
import { useEffect, useState } from 'react'; export function useDebouncedValue<T>(value: T, debounceMs: number) { const [debouncedValue, setDebouncedValue] = useState(value); useEffect(() => { let timer: NodeJS.Timeout | undefined = undefined; timer = setTimeout(() => { setDebouncedValue(value); }, debounceMs); return () => clearTimeout(timer); }, [debounceMs, value]); return debouncedValue; }