From f4efd511d38a1ad17d4e4b652c9e69e4a6304924 Mon Sep 17 00:00:00 2001 From: Phuoc Nguyen Date: Sun, 17 Nov 2019 15:37:17 +0700 Subject: [PATCH] Add useInterval hook --- client/hooks/useInterval.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 client/hooks/useInterval.js diff --git a/client/hooks/useInterval.js b/client/hooks/useInterval.js new file mode 100644 index 0000000..cb441ad --- /dev/null +++ b/client/hooks/useInterval.js @@ -0,0 +1,16 @@ +import { useEffect } from 'react'; + +const useInterval = (callback, delay) => { + useEffect( + () => { + const handler = () => callback(); + if (delay !== null) { + const id = setInterval(handler, delay); + return () => clearInterval(id); + } + }, + [delay] + ); +}; + +export default useInterval;