21 lines
541 B
TypeScript
21 lines
541 B
TypeScript
import { useEffect, useState } from "react"
|
|
|
|
export const useIsOnline = () => {
|
|
const [isOnline, setIsOnline] = useState(navigator.onLine)
|
|
|
|
useEffect(() => {
|
|
const handleOnline = () => setIsOnline(true)
|
|
const handleOffline = () => setIsOnline(false)
|
|
|
|
window.addEventListener("online", handleOnline)
|
|
window.addEventListener("offline", handleOffline)
|
|
|
|
return () => {
|
|
window.removeEventListener("online", handleOnline)
|
|
window.removeEventListener("offline", handleOffline)
|
|
}
|
|
}, [])
|
|
|
|
return isOnline
|
|
}
|