UNPKG

@untemps/react-vocal

Version:

React component and hook to initiate a SpeechRecognition session

24 lines (16 loc) 448 B
import { useCallback, useEffect, useRef } from 'react' const useTimeout = (handler, timeout = 0) => { const ref = useRef(-1) const stop = useCallback(() => { clearTimeout(ref.current) ref.current = -1 }, []) const start = useCallback(() => { stop() ref.current = setTimeout(handler, timeout) }, [handler, timeout, stop]) useEffect(() => stop, [stop]) return [start, stop] } export default useTimeout // TODO: Return a promise