reactuals
Version:
A useful package providing a collection of 50+ React hooks and utilities to simplify React development.
19 lines (18 loc) • 629 B
JavaScript
import { useEffect, useState } from "react";
/**
* Tracks network connectivity status.
*/
export function useOnlineStatus() {
const [online, setOnline] = useState(navigator.onLine);
useEffect(() => {
const handleOnline = () => setOnline(true);
const handleOffline = () => setOnline(false);
window.addEventListener("online", handleOnline);
window.addEventListener("offline", handleOffline);
return () => {
window.removeEventListener("online", handleOnline);
window.removeEventListener("offline", handleOffline);
};
}, []);
return online;
}