erp-platform/ui/src/utils/hooks/useTimeOutMessage.ts

22 lines
555 B
TypeScript
Raw Normal View History

2025-05-06 06:45:49 +00:00
import { useEffect, useState } from 'react'
function useTimeOutMessage(
interval = 3000,
): [string | undefined, React.Dispatch<React.SetStateAction<string | undefined>>] {
const [message, setMessage] = useState<string | undefined>('')
useEffect(() => {
if (message) {
const timeout = setTimeout(() => setMessage(''), interval)
return () => {
clearTimeout(timeout)
}
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [message])
return [message, setMessage]
}
export default useTimeOutMessage