@uiw/react-use-online
Version:
useOnline is a tiny, zero-dependency hook for responding to online/offline changes.
24 lines (23 loc) • 615 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useOnline = useOnline;
var _react = require("react");
function getSnapshot() {
return navigator.onLine;
}
function getServerSnapshot() {
return true;
}
function subscribe(callback) {
window.addEventListener('online', callback);
window.addEventListener('offline', callback);
return function () {
window.removeEventListener('online', callback);
window.removeEventListener('offline', callback);
};
}
function useOnline() {
return (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
}