@zohodesk/hooks
Version:
Unified Component Library - Hooks
35 lines (31 loc) • 685 B
JavaScript
import { useEffect } from 'react';
/**
* useTimeout
* @function useTimeout
*
* @example
* // callback method calls once timeout
* import useTimeout from '@zohodesk/hook/es/timeout/useTimeout';
* useTimeout(1000, ()=>{})
* @param {object} props - props
* @param {string} props.timer
* @param {function} props.callback
*/
export default function useTimeout(props) {
let {
timer = 1000,
callback
} = props; // if (__DEV__) {
// if (true) {
if (!callback) {
console.error('Callback must be given');
} // }
useEffect(() => {
let cT = setTimeout(() => {
callback();
}, timer);
return () => {
clearTimeout(cT);
};
}, []);
}