point-dashboard/src/Hooks/useLoadingState.tsx
KarimAldeen edf92d1a22 test
2024-04-03 12:14: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;