UNPKG

@rehooks/online-status

Version:

React hook for subscribing to `online`/`offline` events and the `navigator.onLine` property to see current status

32 lines (23 loc) 748 B
"use strict"; const { useState, useEffect } = require("react"); function getOnlineStatus() { return typeof navigator !== "undefined" && typeof navigator.onLine === "boolean" ? navigator.onLine : true; } function useOnlineStatus() { const [onlineStatus, setOnlineStatus] = useState(getOnlineStatus()); const goOnline = () => setOnlineStatus(true); const goOffline = () => setOnlineStatus(false); useEffect(() => { window.addEventListener("online", goOnline); window.addEventListener("offline", goOffline); return () => { window.removeEventListener("online", goOnline); window.removeEventListener("offline", goOffline); }; }, []); return onlineStatus; } module.exports = useOnlineStatus;