From 2557610bfa2a5ccb2355db669a81a91095c3f419 Mon Sep 17 00:00:00 2001 From: Jungu Lee <1zzangjun@gmail.com> Date: Tue, 28 Nov 2023 22:10:41 +0900 Subject: [PATCH] =?UTF-8?q?New=20:=20UX=EA=B0=9C=EC=84=A0=EC=9D=84=20?= =?UTF-8?q?=EC=9C=84=ED=95=9C=20=EC=8A=A4=EC=BC=88=EB=A0=88=ED=86=A4=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20=EB=94=9C=EB=A0=88=EC=9D=B4=20=ED=83=80?= =?UTF-8?q?=EC=9D=B4=EB=A8=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/src/hooks/useSkeletonTimer.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 client/src/hooks/useSkeletonTimer.ts diff --git a/client/src/hooks/useSkeletonTimer.ts b/client/src/hooks/useSkeletonTimer.ts new file mode 100644 index 0000000..d444958 --- /dev/null +++ b/client/src/hooks/useSkeletonTimer.ts @@ -0,0 +1,21 @@ +import { useEffect, useState } from "react"; +/** + * 시간을 인자로 받아 해당 시간이 지난 후 true를 리턴, 시간이 지나지 않았을 경우 false를 리턴 + * @param time ms 단위, 기본값은 200ms + * @returns 입력받은 시간이 지났는지 여부 + */ +const useSkeletonTimer = (time: number = 200) => { + const [isTimePassed, setTimer] = useState(false); + + useEffect(() => { + const timerId = setTimeout(() => { + setTimer(true); + }, time); + return () => { + clearTimeout(timerId); + }; + }, []); + return isTimePassed; +}; + +export default useSkeletonTimer;