misbar-website/src/Hooks/useLoadingState.tsx
Moaz Dawalibi d49b1c46e1 first push
2024-07-02 17:26:43 +03:00

22 lines
497 B
TypeScript

import { useState, useEffect } from 'react';
function useLoadingState(initialValue: boolean, duration: number): [boolean, () => void] {
const [loading, setLoading] = useState<boolean>(initialValue);
useEffect(() => {
const timeoutId = setTimeout(() => {
setLoading(false);
}, duration);
return () => clearTimeout(timeoutId);
}, [duration]);
const resetLoading = () => {
setLoading(true);
};
return [loading, resetLoading];
}
export default useLoadingState;