diff --git a/react/usetimeout_en.md b/react/usetimeout_en.md index 8ce07f80..d7296947 100644 --- a/react/usetimeout_en.md +++ b/react/usetimeout_en.md @@ -1,4 +1,15 @@ - -There is no solution yet. +import {useEffect, useState, useRef} from 'react' +export function useTimeout(callback: () => void, delay: number) { + const timer = useRef(null) + const callbackRef = useRef(callback) + callbackRef.current = callback; + useEffect(()=>{ + clearTimeout(timer.current) + timer.current = setTimeout(()=>callbackRef.current(), delay) + return ()=>{ + clearTimeout(timer.current) + } + }, [delay]) +} Would you like to [contribute to the solution](https://github.com/BFEdev/BFE.dev-solutions/blob/main/react/usetimeout_en.md)? [Contribute guideline](https://github.com/BFEdev/BFE.dev-solutions#how-to-contribute)