use-online-status-hook
Version:
A React hook to track online/offline status.
23 lines (16 loc) • 669 B
JavaScript
import { useState, useEffect } from "react";
const useOnlineStatus = () => {
const [onlineStatus, setOnlineStatus] = useState(navigator.onLine);
useEffect(() => {
const handleOnline = () => setOnlineStatus(true);
const handleOffline = () => setOnlineStatus(false);
window.addEventListener("online", handleOnline);
window.addEventListener("offline", handleOffline);
return () => {
window.removeEventListener("online", handleOnline);
window.removeEventListener("offline", handleOffline);
};
}, []);
return onlineStatus;
};
export default useOnlineStatus;